# Splice MCP

```json
{
  "name": "Splice MCP",
  "slug": "splice_mcp",
  "url": "https://composio.dev/toolkits/splice_mcp",
  "markdown_url": "https://composio.dev/toolkits/splice_mcp.md",
  "logo_url": "https://logos.composio.dev/api/splice_mcp",
  "categories": [
    "design & creative tools"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-09-07T05:32:35.907Z"
}
```

![Splice MCP logo](https://logos.composio.dev/api/splice_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Splice MCP or direct API to search the sounds catalog, build and edit stacks, share stacks, and download eligible sounds through natural language.

## Summary

Splice MCP is a sound catalog and sample-management platform for music creators.
It helps you discover, organize, and manage licensed sounds using Splice credits.

## Categories

- design & creative tools

## Toolkit Details

- Tools: 6

## Images

- Logo: https://logos.composio.dev/api/splice_mcp

## Authentication

- **Dcr Oauth**
  - Type: `custom`
  - Description: Dcr Oauth authentication for Splice MCP.
  - Setup:
    - Configure Dcr Oauth credentials for Splice MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Find punchy drum loops for house
- Create a stack from these samples
- Share my latest stack with collaborator

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SPLICE_MCP_CREATE_STACK` | Create stack | Create a stack from an existing sample. This is the ONLY tool that can use a previously found or selected sample as a seed — if the user wants to build a stack around a specific sample, you MUST use this tool (not prompt_to_stack). ROUTING RULE: Any request like 'create a stack from this sample', 'build around this loop', 'use this as a seed', or referencing a specific asset UUID MUST use this tool. The seed sample MUST be a loop (not a one-shot). If the user asks to build a stack from a one-shot, do NOT silently search for loops. Instead, FIRST explain to the user that one-shots cannot be used as stack seeds because stacks require loopable samples to layer together, THEN offer to find similar loops that match the style or character of the one-shot they liked. Uses the loop as the starting layer and generates a full multi-layer stack of compatible samples around it. |
| `SPLICE_MCP_DESCRIBE_A_SOUND` | Describe a sound | Search the Splice catalog for sounds matching a natural language description. Returns sample metadata including BPM, key, tags, duration, and Splice links. Use this to BROWSE and EXPLORE individual sounds -- when the user wants to find, preview, or discover specific samples, loops, or one-shots. Do NOT call this tool alongside prompt_to_stack for the same request. If the user wants a complete multi-track beat or arrangement, use prompt_to_stack instead. Present ALL results to the user exactly as numbered; do not filter, omit, or reorder any results — let the user decide which sounds are relevant. IMPORTANT: One-shots CANNOT be used as seeds to create stacks — only loops can. If the user searched for one-shots and then asks to create a stack from those results, you MUST explicitly tell the user that one-shots cannot be used to create stacks and offer to search for similar loops instead. Do NOT silently pivot to loops. |
| `SPLICE_MCP_DOWNLOAD_ASSET` | Download asset | Purchase and get a presigned download URL for a sound from the Splice catalog. The server returns a presigned URL — it does not write files. If the client has local filesystem access, it should fetch the URL and save the file to download_path; otherwise omit download_path and present the URL to the user. IMPORTANT: The first time an asset is downloaded it spends one of the user's credits. Subsequent downloads of the same asset are free. Always confirm with the user before calling this tool. The URL expires quickly — always display the file name alongside the download URL so the user can identify and access their file. |
| `SPLICE_MCP_PROMPT_TO_STACK` | Prompt to stack | Generate a complete multi-track arrangement of compatible samples from a text description. Use this ONLY when the user describes a sound from scratch without referencing a specific existing sample. This tool does NOT accept a sample UUID as input -- it creates a stack entirely from a text prompt. ROUTING RULE: If the user says anything like 'create a stack from this sample', 'build a stack around this loop', or 'use this as a seed', you MUST use create_stack instead -- even if the user also provides a text description of the desired sound. Do NOT call this tool alongside describe_a_sound for the same request. If the user just wants to browse or find individual sounds, use describe_a_sound instead. Uses AI to interpret your prompt, select appropriate instrument layers (drums, bass, keys, etc.), and filters, and find matching harmonically coherent samples. BPM GUIDANCE: Always include a target BPM in the prompt AND set bpm_min/bpm_max to avoid extreme time-stretching. If the user specifies a genre but not a BPM, infer the range from the genre. Optionally generates a public shareable URL. |
| `SPLICE_MCP_SHARE_STACK` | Share stack | Generate a public shareable URL for an existing stack. Takes a stack UUID (from a previous create call) and returns a shareable link. |
| `SPLICE_MCP_UPDATE_STACK` | Update stack | Modify an existing stack. Use this tool to add, remove, or swap sounds in a stack, rename it, or change its BPM. LAYER LIMIT: Stacks have a maximum of 8 layers. Adding layers beyond this limit will fail. If the stack already has 8 layers, remove existing layers before adding new ones. Required parameter: stack_uuid (the UUID, not a URL). To remove layers, pass their UUIDs via remove_layer_uuids. At least one modification must be provided. When adding or swapping layers, PREFER add_compatible_layers and swap_compatible_layers — these find harmonically compatible samples that fit the existing stack. Only use add_asset_uuids or swap_layers when the user has explicitly chosen a specific sample to use. DRUMS: When adding drums, ALWAYS include the 'grooves' tag in the tag_filter (e.g. '(hip hop \|\| trap) && grooves', 'house && grooves') to get complete drum patterns (kick + snare + hats combined). Without the 'grooves' tag, the search returns isolated single-hit layers (just kicks, just snares, etc.) instead of full drum loops. Only omit 'grooves' if the user explicitly asks for an isolated drum element. Optional tag filter DSL to narrow sample selection. Prefer && (intersection) so all tags must match for precise results; fall back to \|\| (union) only if intersection returns too few results. Valid tags per layer type: drums: grooves, house, hip hop, techno, tech house, hats, live sounds, trap, deep house, kicks, edm, pop, downtempo, snares, percussion, rnb; percussion: live sounds, house, techno, hip hop, tech house, cinematic, shakers, trap, downtempo, acoustic, deep house, edm, synth, pop; bass: synth, house, sub, techno, hip hop, tech house, edm, electric, trap, deep house, drum and bass, rnb, downtempo, dubstep; guitar: electric, live sounds, electric guitar, hip hop, acoustic, rnb, pop, rock, trap, soul, wet, funk, downtempo, lo-fi hip hop, dry; keys: piano, hip hop, electric piano, synth, rnb, soul, trap, live sounds, house, downtempo, pop, lo-fi hip hop, organ, deep house, jazz; strings: live sounds, hip hop, organic, acoustic, cinematic, synth, cello, folk, dry, clean, violin, trap, rnb, soul; vocals: female, pop, wet, edm, live sounds, dry, male, rnb, house, hip hop, pitched, cinematic, trap, soul, future bass; chords: synth, keys, hip hop, rnb, piano, guitar, live sounds, soul, trap, house, electric, pop, electric piano, downtempo, lo-fi hip hop; leads: synth, house, edm, wet, trap, techno, hip hop, pop, vocals, tech house, progressive house, rnb, guitar, deep house, trance; pads: synth, hip hop, house, downtempo, trap, techno, ambient, rnb, cinematic, pop, synthwave, deep house, edm, tech house, soul; brass-and-woodwinds: live sounds, hip hop, trap, organic, synth, cinematic, dry, acoustic, jazz, rnb, soul, clean; synth: house, techno, hip hop, trap, tech house, edm, deep house, downtempo, pop, rnb, progressive house, sub, wet, synthwave, future bass; fx: synth, techno, house, cinematic, ambient, edm, hip hop, vocals, percussion, downtempo, tech house, live sounds, trap, pop |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Splice MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Splice MCP actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Splice MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Splice MCP tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Splice MCP Integration

- Supports both Splice MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Splice MCP data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Splice MCP access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Splice MCP
- Scoped, least privilege access to Splice MCP resources
- Full audit trail of agent actions to support review and compliance

## Use Splice MCP with any AI Agent Framework

Choose a framework you want to connect Splice MCP with:

- [ChatGPT Work](https://composio.dev/toolkits/splice_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/splice_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/splice_mcp/framework/hermes-agent)

## Related Toolkits

- [Figma](https://composio.dev/toolkits/figma) - Figma is a collaborative interface design tool for teams and individuals. It streamlines design workflows with real-time collaboration and easy sharing.
- [Abyssale](https://composio.dev/toolkits/abyssale) - Abyssale is a creative automation platform for generating images, videos, GIFs, PDFs, and HTML5 content programmatically. It streamlines and scales visual content production for marketing, design, and operations teams.
- [Alttext ai](https://composio.dev/toolkits/alttext_ai) - AltText.ai is a service that generates alt text for images automatically. It helps boost accessibility and SEO for your visual content.
- [Are.na](https://composio.dev/toolkits/arena) - Are.na is a creative research platform for collecting images, links, notes, and ideas in channels. Use it to organize inspiration, build knowledge maps, and connect research across projects.
- [Bannerbear](https://composio.dev/toolkits/bannerbear) - Bannerbear is an API-driven platform for generating images and videos automatically at scale. It helps businesses create custom graphics, social visuals, and marketing assets using powerful templates.
- [Bannerbite](https://composio.dev/toolkits/bannerbite) - Bannerbite is a creative automation platform for generating images and videos from reusable projects and templates. It helps teams produce on-brand visual assets faster without rebuilding designs from scratch.
- [Builder.io](https://composio.dev/toolkits/builder_io) - Builder.io is a visual development platform for managing content, models, assets, and Space configuration. Use it to ship editable digital experiences faster without waiting on every code change.
- [Canva](https://composio.dev/toolkits/canva) - Canva is a drag-and-drop design suite for creating professional graphics, presentations, and marketing materials. It makes it easy for anyone to design with beautiful templates and a vast library of elements.
- [Canva MCP](https://composio.dev/toolkits/canva_mcp) - Canva MCP is Canva's remote MCP server for accessing designs and content. It centralizes design assets and enables programmatic design workflows.
- [Claid ai](https://composio.dev/toolkits/claid_ai) - Claid.ai delivers AI-driven image editing APIs for tasks like background removal, upscaling, and color correction. It helps automate and enhance image workflows with powerful, developer-friendly tools.
- [Cloudinary](https://composio.dev/toolkits/cloudinary) - Cloudinary is a cloud-based platform for managing, uploading, and transforming images and videos. It streamlines media workflows and delivers optimized assets globally.
- [Contentdrips](https://composio.dev/toolkits/contentdrips) - Contentdrips is an asynchronous rendering API for branded graphics and carousels. It turns reusable templates into on-brand social visuals at scale.
- [Creatomate](https://composio.dev/toolkits/creatomate) - Creatomate is an API for generating automated videos, images, GIFs, and reusable media templates. Use it to turn structured data into polished visual content at scale.
- [Cults](https://composio.dev/toolkits/cults) - Cults is a digital marketplace for 3D printing models, connecting designers and makers. It lets creators share, sell, and discover a huge variety of printable designs easily.
- [DeepImage](https://composio.dev/toolkits/deepimage) - DeepImage is an AI-powered image enhancer and upscaler. Get higher-quality images with just a few clicks.
- [Dreamstudio](https://composio.dev/toolkits/dreamstudio) - DreamStudio is Stability AI’s platform for generating and editing images with AI. It lets you easily turn ideas into stunning visuals, fast.
- [Dynamic Mockups](https://composio.dev/toolkits/dynamic_mockups) - Dynamic Mockups is an API platform for generating product mockups, rendering templates, and managing visual asset catalogs. Use it to automate high-quality product visuals, AI images, and motion assets at scale.
- [Dynapictures](https://composio.dev/toolkits/dynapictures) - Dynapictures is a cloud-based platform for generating personalized images at scale. Instantly create hundreds of custom visuals using your data sources, like Google Sheets.
- [Eraser MCP](https://composio.dev/toolkits/eraser_mcp) - Eraser MCP is a workspace for creating and managing technical diagrams and structured documents. It helps teams organize, version, and export diagrams with collaboration-focused tooling.
- [Excalidraw MCP](https://composio.dev/toolkits/excalidraw_mcp) - Excalidraw MCP is a no-auth MCP server for creating hand-drawn style diagrams in Excalidraw. Use it to generate visual sketches with viewport camera control and fullscreen editing.

## Frequently Asked Questions

### Do I need my own developer credentials to use Splice MCP with Composio?

Yes, Splice MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
