Mureka MCP server
Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Mureka, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.
Overview
This tool pack gives an agent access to the full Mureka AI music workflow: generate lyrics and songs, produce instrumentals, remix and edit uploaded audio, split or add stems, clone a vocal, convert text to speech, and produce multi-voice podcast dialogue. Generation calls return a task id, so the query tools are the second half of nearly every generation workflow.
For setup instructions, see SnapLogic MCP Server quickstart.
Example Prompts
- Upload this track to Mureka: https://cdn.example.com/demos/rough_mix.mp3
- Add my reference song at that URL to Mureka so I can remix it
- Upload this vocal sample as a reference file
- Register this MP3 with Mureka so we can split out the stems
- Compose an epic orchestral piece with brass and strings
- Make me a calm lo-fi instrumental for a background loop
- Generate two instrumental options for a product video
- Write an instrumental in the same style as my uploaded reference
- Is the instrumental finished?
- Check instrumental task 435134
Tools
| Tool Name | Functions |
|---|---|
| MurekaFileUpload | Upload an audio file to Mureka by URL and get back a file id. |
| MurekaInstrumentalGenerate | Generate instrumental-only music from a style prompt (async task). |
| MurekaInstrumentalQuery | Check the status and results of an instrumental generation task. |
| MurekaLyricsExtend | Continue an existing set of lyrics in a chosen direction. |
| MurekaLyricsGenerate | Write original song lyrics from a brief. |
| MurekaSongDescribe | Get a musical description of an uploaded track. |
| MurekaSongExtend | Continue a generated song with new material (async task). |
| MurekaSongGenerate | Generate a full vocal song from lyrics and a style prompt (async task). |
| MurekaSongQuery | Check the status and results of a song generation task. |
| MurekaSongRecognize | Identify an uploaded track by recognition. |
| MurekaSongRegionEdit | Regenerate a chosen time range inside a generated clip. |
| MurekaSongRemix | Remix an uploaded track into a new style from a prompt. |
| MurekaSongStem | Split an uploaded track into separate stems. |
| MurekaTTSGenerate | Convert text to speech in a named voice. |
| MurekaTTSPodcast | Render a multi-voice scripted conversation as podcast audio. |
| MurekaTrackGenerate | Generate one named track (vocals, drums, …) over an uploaded file. |
| MurekaVocalClone | Clone a vocal identity from a sample audio URL. |
Set up the MCP Server tools
- Download mureka_tools.zip.
- In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded mureka_tools.zip. Designer unpacks each pipeline into the project.
- Attach the required account to the connectivity snaps (see Connection Setup).
- Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.
Configure account
Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.
These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.
See the SnapLogic account documentation for this connector: API Suite Account Configuration.
MurekaFileUpload
Uploads an audio file to Mureka by URL and registers it for use by other tools in this pack. Use it first whenever your workflow starts from an existing track, since tools for remix, stem separation, and track generation all require a Mureka file id.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_url* | string | — | URL of the audio file to upload. |
| purpose | string | — | Label describing what the file is for, e.g. reference or vocal. |
* Required parameter.
Try asking:
- Upload this track to Mureka: https://cdn.example.com/demos/rough_mix.mp3
- Add my reference song at that URL to Mureka so I can remix it
- Upload this vocal sample as a reference file
- Register this MP3 with Mureka so we can split out the stems
MurekaInstrumentalGenerate
Generates instrumental music (no vocals) from a style prompt, with support for multiple variations and an optional reference track. Returns a task id; use MurekaInstrumentalQuery to check status and retrieve the finished audio.
| Parameter | Type | Default | Description |
|---|---|---|---|
| prompt | string | — | Style prompt: genre, instrumentation, mood, tempo. |
| model | string | auto |
Mureka model to use; defaults to auto. |
| n | integer | — | Number of variations to generate. |
| reference_id | string | — | File id of an uploaded reference track to condition on. |
Try asking:
- Compose an epic orchestral piece with brass and strings
- Make me a calm lo-fi instrumental for a background loop
- Generate two instrumental options for a product video
- Write an instrumental in the same style as my uploaded reference
MurekaInstrumentalQuery
Checks the status and retrieves the results of an instrumental generation task by id. Use this after MurekaInstrumentalGenerate; use MurekaSongQuery for vocal song tasks.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_id* | string | — | Id of the instrumental task returned by generate. |
* Required parameter.
Try asking:
- Is the instrumental finished?
- Check instrumental task 435134
- Fetch the audio for the orchestral piece you generated
- Any update on that background music job?
MurekaLyricsExtend
Continues an existing set of lyrics from where they left off, guided by a prompt describing the direction, such as adding a chorus or resolving the story. Use it when you have a draft to carry forward rather than starting from scratch with MurekaLyricsGenerate.
| Parameter | Type | Default | Description |
|---|---|---|---|
| lyrics* | string | — | Existing lyrics to continue from. |
| prompt | string | — | Direction for the continuation, e.g. add a hopeful chorus. |
| model | string | auto |
Mureka model to use; defaults to auto. |
* Required parameter.
Try asking:
- Continue these lyrics with a hopeful chorus
- I have a first verse — write the rest of the song
- Add a bridge to these lyrics that turns the story around
- Extend this draft, keeping the same rhyme scheme
MurekaLyricsGenerate
Writes original song lyrics from a natural-language brief covering theme, story, and tone. Use it at the start of the songwriting workflow, then pass the output to MurekaSongGenerate to have the lyrics sung.
| Parameter | Type | Default | Description |
|---|---|---|---|
| prompt* | string | — | Brief for the lyrics: theme, story, tone. |
| model | string | auto |
Mureka model to use; defaults to auto. |
* Required parameter.
Try asking:
- Write a love song about stargazing on a summer night
- Give me lyrics for a breakup ballad, bitter but restrained
- Write an upbeat anthem about starting over in a new city
- Draft lyrics for a children's song about brushing teeth
MurekaSongDescribe
Analyzes an uploaded track and returns a description of its genre, mood, and instrumentation, giving you Mureka's read of a reference before generating something similar. Upload the audio first with MurekaFileUpload; use MurekaSongRecognize if you want to identify the track rather than characterize it.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_id* | string | — | File id of the uploaded track to describe. |
* Required parameter.
Try asking:
- What does this track sound like?
- Describe the style of the file I just uploaded
- Tell me the genre and mood of this reference song
- Analyse this demo so we can generate something similar
MurekaSongExtend
Continues an already-generated song past its current ending or from a chosen time offset, guided by a prompt describing where the music should go next. Returns a task id; poll it with MurekaSongQuery to retrieve the result.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_id* | string | — | Id of the song task to extend. |
| clip_id | string | — | Which generated clip from that task to extend. |
| prompt | string | — | Direction for the continuation, e.g. energetic chorus. |
| model | string | auto |
Mureka model to use; defaults to auto. |
| continue_at | number | — | Time in seconds to continue from. |
* Required parameter.
Try asking:
- Extend that song with an energetic chorus
- Continue clip 0 of task 1436211 from the 90 second mark
- Add a fade-out outro to the track you just made
- Make the second version longer with another verse
MurekaSongGenerate
Generates a full vocal song from lyrics and a style prompt, with options for multiple variations, a reference track, or a cloned vocal identity. Returns a task id; use MurekaSongQuery to collect the finished clips.
| Parameter | Type | Default | Description |
|---|---|---|---|
| lyrics | string | — | Lyrics to sing, optionally with section tags like [Verse] and [Chorus]. |
| prompt | string | — | Style prompt: genre, tempo, mood, vocal character. |
| model | string | auto |
Mureka model to use; defaults to auto. |
| n | integer | — | Number of variations to generate. |
| reference_id | string | — | File id of an uploaded reference track to condition the style on. |
| vocal_id | string | — | Id of a cloned vocal to sing the result with. |
Try asking:
- Write me a slow R&B song with a passionate male vocal using these lyrics
- Generate three versions of this song in a dream-pop style
- Make a song from these lyrics that sounds like the reference track I uploaded
- Sing these lyrics using the cloned voice from my sample
- Turn this chorus into an upbeat indie track
MurekaSongQuery
Checks the status of a song generation, extension, or region-edit task by id, and returns the finished audio clips once rendering is complete. Use this after any vocal song generation call; use MurekaInstrumentalQuery for instrumental tasks.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_id* | string | — | Id of the song task returned by generate, extend or region-edit. |
* Required parameter.
Try asking:
- Is my song ready yet?
- Check the status of task 1436211
- Get the audio for the song you just generated
- Did that extension job finish?
MurekaSongRecognize
Identifies an uploaded track by running recognition against it, returning the song name or match. Use it when you want to know what a track is, not how it sounds; use MurekaSongDescribe for a musical characterization instead.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_id* | string | — | File id of the uploaded audio to recognise. |
* Required parameter.
Try asking:
- What song is this?
- Identify the track I just uploaded
- Can you recognise this audio clip?
- Tell me what this recording actually is
MurekaSongRegionEdit
Rewrites a specific time range inside a generated clip, leaving the rest of the song unchanged, guided by a prompt describing the replacement. Use it for targeted fixes; poll the result with MurekaSongQuery.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_id* | string | — | Id of the song task containing the clip to edit. |
| clip_id | string | — | Which generated clip from that task to edit. |
| start_time* | number | — | Start of the region to rewrite, in seconds. |
| end_time* | number | — | End of the region to rewrite, in seconds. |
| prompt | string | — | What the replacement material should sound like. |
* Required parameter.
Try asking:
- Replace the section from 10 to 25 seconds with a guitar solo
- The bridge at 1:05 is too busy — make that part quieter
- Redo the last 15 seconds of clip 0 as an instrumental fade
- Swap the intro of that track for something more atmospheric
MurekaSongRemix
Reworks an uploaded track into a new style from a prompt, reinterpreting the whole piece rather than a single region. Upload the audio first with MurekaFileUpload, then supply a style direction such as lo-fi hip hop, acoustic, or club edit.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_id* | string | — | File id of the uploaded track to remix. |
| prompt | string | — | Style direction for the remix. |
| model | string | auto |
Mureka model to use; defaults to auto. |
* Required parameter.
Try asking:
- Remix my uploaded track as a lo-fi hip hop beat
- Turn this song into an acoustic version
- Give me a club remix of the file I just uploaded
- Rework that track with an eighties synthwave feel
MurekaSongStem
Separates an uploaded track into its component stems, such as vocals, drums, and backing, so each part can be used individually. Use it to extract an instrumental, isolate vocals, or rebuild a track part by part.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_id* | string | — | File id of the uploaded track to separate. |
* Required parameter.
Try asking:
- Split this track into stems
- Give me an instrumental version of the song I uploaded
- Isolate the vocals from that mix
- Separate the drums out of this file
MurekaTTSGenerate
Converts a block of text to spoken audio in a named voice, suitable for narration, voiceover, or announcements. For multi-speaker dialogue, use MurekaTTSPodcast instead.
| Parameter | Type | Default | Description |
|---|---|---|---|
| text* | string | — | Text to speak. |
| voice* | string | — | Name of the voice to speak it in, e.g. Luna. |
* Required parameter.
Try asking:
- Read this intro out loud in the Luna voice
- Turn this paragraph into a voiceover
- Narrate this announcement for our welcome video
- Generate speech for this script using a warm voice
MurekaTTSPodcast
Renders a multi-speaker scripted conversation as a single audio file, with each turn using a distinct voice. For single-speaker narration, use MurekaTTSGenerate instead.
| Parameter | Type | Default | Description |
|---|---|---|---|
| conversations* | array | — | Ordered list of turns, each with text and the voice that speaks it. |
* Required parameter.
Try asking:
- Turn this two-person script into a podcast episode
- Make a host-and-guest conversation about AI music from these lines
- Voice this interview with a different voice for each speaker
- Produce a short dialogue segment from this transcript
MurekaTrackGenerate
Generates a single named track (such as vocals, drums, or bass) against an uploaded piece of audio, adding a new part to an existing arrangement. Use it for part-level work; use MurekaSongStem to pull parts out rather than add them.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_id* | string | — | File id of the uploaded audio to generate against. |
| track_type* | string | — | Which part to generate, e.g. vocals, drums, bass. |
| prompt | string | — | Description of the performance to generate. |
* Required parameter.
Try asking:
- Add gentle female vocals to my uploaded instrumental
- Generate a bassline for this track
- Write a drum part for the file I uploaded, something driving
- Put a new lead guitar line over this backing
MurekaVocalClone
Creates a cloned vocal identity from a sample audio URL, producing a reusable voice for generated songs. Use it when you want a consistent voice across multiple song generations.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_url* | string | — | URL of the vocal sample to clone from. |
* Required parameter.
Try asking:
- Clone the voice in this audio sample
- Make a vocal profile from this singer's recording so we can reuse it
- Create a voice clone from https://example.com/vocal_sample.mp3
- Set up a reusable vocal identity from my demo take