Splice MCP connector
OAuth 2.1/DCRMediaAIProductivityConnect 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
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'splicemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'splicemcp_create_stack',toolInput: { asset_uuid: 'YOUR_ASSET_UUID' },})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "splicemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Splice MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"asset_uuid":"YOUR_ASSET_UUID"},tool_name="splicemcp_create_stack",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
asset_uuidstringrequiredThe UUID of the sample to use as the seed for the stackbpmintegeroptionalTarget 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 stacksplicemcp_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.
querystringrequiredNatural language description of the sound you are looking forbpm_maxintegeroptionalMaximum BPM filterbpm_minintegeroptionalMinimum BPM filtertypestringoptionalSample type: loop or oneshotsplicemcp_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.
asset_uuidstringrequiredUUID of the asset to downloaddownload_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.
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_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.
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 stacknamestringoptionalNew 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.