Splice MCP connector
OAuth 2.1/DCR MediaAIProductivityConnect 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_uuid string required The UUID of the sample to use as the seed for the stack bpm integer optional Target BPM for the stack (e.g. use the seed sample's BPM). Omit to let the backend decide. generate_public_url boolean optional Set to true ONLY if the user explicitly asks for a shareable, public, or web link. Defaults to false. name string optional An 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.
query string required Natural language description of the sound you are looking for bpm_max integer optional Maximum BPM filter bpm_min integer optional Minimum BPM filter type string optional Sample 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.
asset_uuid string required UUID of the asset to download download_path string optional Optional 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.
prompt string required Your 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_max integer optional Maximum BPM for sample selection based on the genre. Must be provided together with bpm_min. bpm_min integer optional Minimum 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_url boolean optional Set 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_uuid string required The 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_uuids string optional Asset UUIDs to add as new layers at the end of the stack. Mutually exclusive with add_compatible_layers. add_compatible_layers string optional Layers to add using harmonically compatible samples. Specify the instrument type for each layer. Mutually exclusive with add_asset_uuids. bpm integer optional New playback BPM for the stack name string optional New name for the stack (max 64 characters) remove_layer_uuids string optional Layer UUIDs to remove from the stack (use the Layer UUID values shown in the stack output) swap_compatible_layers string optional Layers to swap with harmonically compatible replacements. Mutually exclusive with swap_layers. swap_layers string optional Layers whose sample content should be replaced with a specific asset. Mutually exclusive with swap_compatible_layers.