Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Splice MCP connector

OAuth 2.1/DCRMediaAIProductivity

Connect to Splice MCP. Search the Splice sample catalog, create and update multi-track stacks, download audio assets, and generate arrangements from text...

Splice MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'splicemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Splice MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'splicemcp_create_stack',
    toolInput: { asset_uuid: 'YOUR_ASSET_UUID' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update stack — Modify an existing stack by adding, removing, or swapping sounds, or by renaming it or changing its BPM
  • Stack share, prompt to — Generate a public shareable URL for an existing stack by its UUID
  • Asset download — Purchase a Splice sample and return a presigned download URL for the audio file
  • Sound describe a — Search the Splice catalog for samples matching a natural language description, with optional BPM and type filters
  • Create stack — Create a multi-track stack from an existing Splice sample, optionally generating a public share URL

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

splicemcp_create_stack#Create a multi-track stack from an existing Splice sample, optionally generating a public share URL.4 params

Create a multi-track stack from an existing Splice sample, optionally generating a public share URL.

NameTypeRequiredDescription
asset_uuidstringrequiredThe UUID of the sample to use as the seed for the stack
bpmintegeroptionalTarget BPM for the stack (e.g. use the seed sample's BPM). Omit to let the backend decide.
generate_public_urlbooleanoptionalSet to true ONLY if the user explicitly asks for a shareable, public, or web link. Defaults to false.
namestringoptionalAn optional name for the stack
splicemcp_describe_a_sound#Search the Splice catalog for samples matching a natural language description, with optional BPM and type filters.4 params

Search the Splice catalog for samples matching a natural language description, with optional BPM and type filters.

NameTypeRequiredDescription
querystringrequiredNatural language description of the sound you are looking for
bpm_maxintegeroptionalMaximum BPM filter
bpm_minintegeroptionalMinimum BPM filter
typestringoptionalSample type: loop or oneshot
splicemcp_download_asset#Purchase a Splice sample and return a presigned download URL for the audio file.2 params

Purchase a Splice sample and return a presigned download URL for the audio file.

NameTypeRequiredDescription
asset_uuidstringrequiredUUID of the asset to download
download_pathstringoptionalOptional hint indicating where the client should save the downloaded file. The server returns a presigned URL; the client is responsible for fetching and saving the file. Omit when the client does not have local filesystem access (e.g. web-based clients).
splicemcp_prompt_to_stack#Generate a complete multi-track arrangement of compatible samples from a text prompt describing the desired sound.4 params

Generate a complete multi-track arrangement of compatible samples from a text prompt describing the desired sound.

NameTypeRequiredDescription
promptstringrequiredYour prompt describing the sound you want to create (e.g. "lo-fi hip hop beat at 80 bpm with a groovy bassline and jazzy piano", "an upbeat pop song in the style of Bruno Mars in the key of C major")
bpm_maxintegeroptionalMaximum BPM for sample selection based on the genre. Must be provided together with bpm_min.
bpm_minintegeroptionalMinimum BPM for sample selection based on the genre. Infer from genre when the user does not specify a BPM. Typical ranges: lo-fi/chill 60–100, soulful beats/R&B 70–120, pop 100–130, disco/funk 110–130, house/techno/dance 115–135, industrial/experimental 110–150, drum and bass/jungle 160–180. For genres not listed, ensure at least a 30 BPM spread between bpm_min and bpm_max.
generate_public_urlbooleanoptionalSet to true ONLY if the user explicitly asks for a shareable, public, or web link. Defaults to false.
splicemcp_share_stack#Generate a public shareable URL for an existing stack by its UUID.1 param

Generate a public shareable URL for an existing stack by its UUID.

NameTypeRequiredDescription
stack_uuidstringrequiredUUID of the stack to share
splicemcp_update_stack#Modify an existing stack by adding, removing, or swapping sounds, or by renaming it or changing its BPM.8 params

Modify an existing stack by adding, removing, or swapping sounds, or by renaming it or changing its BPM.

NameTypeRequiredDescription
stack_uuidstringrequiredThe UUID of the stack to modify (returned as Stack UUID by create_stack or prompt_to_stack). Use the UUID value, not a URL.
add_asset_uuidsstringoptionalAsset UUIDs to add as new layers at the end of the stack. Mutually exclusive with add_compatible_layers.
add_compatible_layersstringoptionalLayers to add using harmonically compatible samples. Specify the instrument type for each layer. Mutually exclusive with add_asset_uuids.
bpmintegeroptionalNew playback BPM for the stack
namestringoptionalNew name for the stack (max 64 characters)
remove_layer_uuidsstringoptionalLayer UUIDs to remove from the stack (use the Layer UUID values shown in the stack output)
swap_compatible_layersstringoptionalLayers to swap with harmonically compatible replacements. Mutually exclusive with swap_layers.
swap_layersstringoptionalLayers whose sample content should be replaced with a specific asset. Mutually exclusive with swap_compatible_layers.