Flow Music MCP Server
October 16, 2026 (November 1, 2026)
Table of contents
- Endpoint and authorization
- Setup
- Use it in the Claude app or ChatGPT
- Tools
- Long-running work
- Example prompts
- Limits and notes
The useapi.net Flow Music MCP server lets an AI assistant such as the Claude app, ChatGPT, Claude Code, Cursor or VS Code Copilot make music with Google Flow Music on your own Flow Music accounts. It is a hosted Model Context Protocol server with 18 tools: generate songs with Google’s Lyria models from a description, your own lyrics or lyrics the model writes, then extend them, regenerate a section, restyle them, re-sing them with new lyrics, apply audio effects or split them into stems. Each tool calls the FlowMusic API, so the same rules and limits apply. Nothing needs to be installed or hosted.
Is there a Flow Music MCP server? Yes. useapi.net, a third-party service not affiliated with Google, hosts one at https://api.useapi.net/v1/flowmusic/mcp with 18 tools for Lyria songs, covers, remixes and stems, on your own Flow Music account, nothing to install.
Prefer REST? Tutorial: How to Generate AI Music with Lyria 3 Pro via the Flow Music API · Code: github.com/useapi/flowmusic-api
See all useapi.net MCP servers on Model Matrix & MCP.
Endpoint and authorization
https://api.useapi.net/v1/flowmusic/mcp
- Transport: Streamable HTTP.
- Listed in the official MCP Registry as
net.useapi/flowmusic, so MCP clients and directories that read the registry can find it by that name. - Authorization: your useapi.net API token in the
Authorization: Bearer …header, see Setup useapi.net. The Claude app and ChatGPT sign in with OAuth instead, see Use it in the Claude app or ChatGPT. - You need at least one Flow Music account added with Setup Flow Music. Adding and removing accounts is not available over MCP: use POST /accounts or the setup page.
Setup
Replace YOUR_API_TOKEN with your useapi.net API token.
Claude Code
claude mcp add --transport http useapi-flowmusic https://api.useapi.net/v1/flowmusic/mcp --header "Authorization: Bearer YOUR_API_TOKEN"
Cursor
In ~/.cursor/mcp.json:
{
"mcpServers": {
"useapi-flowmusic": {
"url": "https://api.useapi.net/v1/flowmusic/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
VS Code
In .vscode/mcp.json:
{
"servers": {
"useapi-flowmusic": {
"type": "http",
"url": "https://api.useapi.net/v1/flowmusic/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Windsurf and other clients
Any client that supports remote MCP servers over HTTP with custom headers works. The usual JSON shape:
{
"mcpServers": {
"useapi-flowmusic": {
"serverUrl": "https://api.useapi.net/v1/flowmusic/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Some clients name the address field url instead of serverUrl.
Test it with curl
curl -s https://api.useapi.net/v1/flowmusic/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
curl -s https://api.useapi.net/v1/flowmusic/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
The first call answers with the server’s name useapi-flowmusic and its instructions for the assistant, the second with the 18 tools.
Use it in the Claude app or ChatGPT
The Claude app (claude.ai and Claude Desktop) and ChatGPT can add this server as a custom connector. They sign in with OAuth: you give the app the URL, it opens a useapi.net page, and you paste your useapi.net API token there once. Both work on their Free plans. The API-token setups above for Claude Code, Cursor, VS Code and other clients keep working as before.
https://api.useapi.net/v1/flowmusic/mcp
Claude app
- Open Settings → Connectors and click Add custom connector.
- Enter a name, for example
useapi Flow Music, and the URL above, then click Add. - Click Connect. Claude opens the useapi.net sign-in page.
- Paste your useapi.net API token and click Allow.
Claude asks before each tool call unless you choose Always allow. The Free plan allows one custom connector.
ChatGPT
- Open Plugins, click Add and choose Add custom MCP server.
- Enter a name and the URL above, and set Authentication to OAuth.
- Tick ChatGPT’s “I understand and want to continue” box, then click Create as a plugin.
- Click Connect. ChatGPT opens the useapi.net sign-in page.
- Paste your useapi.net API token and click Allow.
ChatGPT asks you to confirm each tool call that creates or changes something. The Free plan works without developer mode (as of October 25, 2026).
How the sign-in works
- Your API token is in your welcome email, see Setup useapi.net. The useapi.net page links there too.
- Each connection is for one MCP server. Connect each server you want to use on its own.
- The app gets an access token that lasts 1 hour and renews it on its own. A connection you don’t use for 90 days lapses, and you connect again.
- Resetting your API token disconnects every app connected with it.
- Each clip’s
m4aandwavlinks are public and open in the app. Themp3comes back as a download link that works in your browser without sign-in for 1 hour. A song list carries mp3 links for its first 20 songs.
Tools
Songs, clips and uploaded files are named by the ids the tools return, and each id carries its account, so an edit runs on the account that holds the clip. Tools that start a song take an optional email to pick the account.
Accounts
| Tool | What it does | Main parameters |
|---|---|---|
flowmusic_list_accounts | Lists your accounts with their plan, maxJobs and health. | |
flowmusic_get_account | Reads one account live: plan, credits and tokens left. | email |
flowmusic_update_account | Sets maxJobs, the songs and edits an account runs at once. | email, maxJobs |
flowmusic_get_usage | Returns an account’s credit usage: daily billing events and the cost of each song. | email |
Songs and lyrics
| Tool | What it does | Main parameters |
|---|---|---|
flowmusic_create_song | Generates a song from a description of the style, mood, instruments and vocals, with your own lyrics, lyrics the model writes, or instrumental. | prompt, lyrics, instrumental, ghostwriter, model, refImage1..10, refAudio1..10, email |
flowmusic_write_lyrics | Writes [Verse] / [Chorus] lyrics, a title and a sound prompt for a song concept, without making a song. | prompt, structure, email |
flowmusic_list_songs | Lists the clips on an account, most recent first. | email, limit, offset |
flowmusic_get_job | Reads a song or edit job, and with wait: true waits for it to finish. | jobid, wait |
flowmusic_list_jobs | Lists the jobs running now on each account. | |
flowmusic_cancel_job | Stops tracking a job and frees its slot. Flow Music may still finish the song, and its credits are spent either way. | jobid |
The parameters match POST /music and POST /music/lyrics.
Edits
Each edit of POST /music/edit is its own tool. Every one takes the clip to edit and an optional title and seed.
| Tool | What it does | Main parameters |
|---|---|---|
flowmusic_extend_song | Adds music to a clip, 1 to 300 seconds (150 by default). | instruction, extend_s, extend_from_s, model |
flowmusic_replace_section | Regenerates one section of a clip. | instruction, mask_start_s, mask_end_s, model |
flowmusic_cover_song | Restyles a whole clip. | instruction, strength, model |
flowmusic_remix_lyrics | Re-sings a clip with edited lyrics, keeping its sound. | lyrics, prompt, model |
flowmusic_apply_effect | Applies one effect: Trim, Fade, Gain, Reverb, Pan or Equalizer. | effect and that effect’s parameters |
flowmusic_split_stems | Splits a clip into four stem clips: drums, bass, vocals and other. | clip |
Reference files
| Tool | What it does | Main parameters |
|---|---|---|
flowmusic_upload_file | Uploads a JPEG, PNG or WebP image (up to 20 MB) or an MP3, WAV or M4A song (up to 40 MB) from a public https URL, or sent as contentBase64, as a reference for flowmusic_create_song. | url or contentBase64, mimeType, email, stripMetadata |
flowmusic_generate_image | Generates an image to use as a reference, returned as an image the assistant can see. | prompt, email |
References are loose hints: neither Lyria model copies an uploaded song or picture. The full input schema of every tool comes from tools/list.
Long-running work
MCP clients usually give up on a tool call after about a minute, so a tool waits up to about 50 seconds:
- A song usually takes 30 seconds to a minute, sometimes up to two and a half. If it isn’t done in time, the tool returns the
jobid, andflowmusic_get_jobwithwait: truepicks it up. Ask the assistant to keep checking until it is done. - A remix takes about 20 to 30 seconds and an effect under half a minute. Extend, replace and cover take about as long as a song.
flowmusic_write_lyricsanswers in about 30 seconds andflowmusic_split_stemsin 15 to 60 seconds. If a stem split takes longer, call it again a minute later: a clip that is already split returns its stems at once.
Clients that ask for progress notifications get one about every 10 seconds while a tool waits.
Each clip comes back with its id and public m4a and wav links. The mp3 comes through GET /music/download with the same Authorization header.
Example prompts
- “Write lyrics for an upbeat song about a dog named Biscuit who loves the beach, then make it as indie pop with a warm female vocal.”
- “Make a 2-minute lo-fi hip hop instrumental for studying, using Lyria 3.5.”
- “Extend my last song by 30 seconds with an outro that fades out.”
- “Make a slow bossa nova cover of that song.”
- “Re-sing the second verse with these new lyrics: …”
- “Split the song into stems and give me the vocals track.”
- “How many Flow Music credits are left on my accounts?”
Limits and notes
- The tools use your Flow Music accounts and the same rules as the REST API, such as
maxJobs. Songs and edits use the account’s Flow Music credits, see the cost calculator on the FlowMusic API page. - A client may send up to 20 JSON-RPC requests in one batch.
- If the client sends an
MCP-Protocol-Versionheader, it must be one of the supported versions:2025-06-18,2025-03-26or2024-11-05. - Tool calls show in your usage stats (
bot=flowmusic) through the REST call each tool makes, the same rows a direct API request writes.