Flow Music MCP Server by useapi.net

Google Flow Music (Lyria): songs, lyrics, extend, cover, remix, effects, stems. Third-party, paid ($15/month), runs on your own Flow Music account.

Hosted MCP Server

npx add-mcp 'https://api.useapi.net/v1/flowmusic/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Skip to main content

Flow Music MCP Server

October 16, 2026

Independent third-party service, see Legal

Table of contents

  1. Endpoint and authorization
  2. Setup
  3. Tools
  4. Long-running work
  5. Example prompts
  6. Limits and notes

The useapi.net Flow Music MCP server lets an AI assistant such as 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.
  • 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.

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

ToolWhat it doesMain parameters
flowmusic_list_accountsLists your accounts with their plan, maxJobs and health. 
flowmusic_get_accountReads one account live: plan, credits and tokens left.email
flowmusic_update_accountSets maxJobs, the songs and edits an account runs at once.email, maxJobs
flowmusic_get_usageReturns an account’s credit usage: daily billing events and the cost of each song.email

Songs and lyrics

ToolWhat it doesMain parameters
flowmusic_create_songGenerates 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_lyricsWrites [Verse] / [Chorus] lyrics, a title and a sound prompt for a song concept, without making a song.prompt, structure, email
flowmusic_list_songsLists the clips on an account, most recent first.email, limit, offset
flowmusic_get_jobReads a song or edit job, and with wait: true waits for it to finish.jobid, wait
flowmusic_list_jobsLists the jobs running now on each account. 
flowmusic_cancel_jobStops 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.

ToolWhat it doesMain parameters
flowmusic_extend_songAdds music to a clip, 1 to 300 seconds (150 by default).instruction, extend_s, extend_from_s, model
flowmusic_replace_sectionRegenerates one section of a clip.instruction, mask_start_s, mask_end_s, model
flowmusic_cover_songRestyles a whole clip.instruction, strength, model
flowmusic_remix_lyricsRe-sings a clip with edited lyrics, keeping its sound.lyrics, prompt, model
flowmusic_apply_effectApplies one effect: Trim, Fade, Gain, Reverb, Pan or Equalizer.effect and that effect’s parameters
flowmusic_split_stemsSplits a clip into four stem clips: drums, bass, vocals and other.clip

Reference files

ToolWhat it doesMain parameters
flowmusic_upload_fileUploads 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_imageGenerates 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, and flowmusic_get_job with wait: true picks 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_lyrics answers in about 30 seconds and flowmusic_split_stems in 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.
  • Custom connectors on claude.ai need OAuth sign-in, which this server does not support yet. Use Claude Code or another client that can send an Authorization header.
  • A client may send up to 20 JSON-RPC requests in one batch.
  • If the client sends an MCP-Protocol-Version header, it must be one of the supported versions: 2025-06-18, 2025-03-26 or 2024-11-05.
  • Every tool call shows in your usage stats ( bot=flowmusic) as model mcp, with the tool name as its status, or failed.

Tutorials for the FlowMusic API v1:

{ "@context": "https://schema.org", "@type": "APIReference", "name": "Flow Music MCP Server: Lyria 3.5 Songs, Covers and Stems", "url": "https://useapi.net/docs/api-flowmusic-v1/mcp", "inLanguage": "en", "isAccessibleForFree": true, "description": "Connect Claude Code, Cursor, VS Code or any MCP client to the hosted useapi.net Flow Music MCP server: 18 tools for Lyria songs, lyrics, edits and stems.", "about": "FlowMusic API v1", "isPartOf": { "@type": "APIReference", "name": "FlowMusic API v1" }, "publisher": { "@type": "Organization", "name": "useapi.net", "url": "https://useapi.net", "logo": { "@type": "ImageObject", "url": "https://useapi.net/assets/brand/useapi-logo-512.png" }, "alternateName": ["useapi", "UseAPI"], "sameAs": ["https://discord.gg/w28uK3cnmF", "https://t.me/use_api", "https://github.com/useapi", "https://bsky.app/profile/useapi.net", "https://www.youtube.com/@useapi-net"] }, "documentationOf": { "@type": "WebAPI", "name": "useapi.net REST API", "documentation": "https://useapi.net/llms.txt", "termsOfService": "https://useapi.net/docs/legal" } }
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://useapi.net/" }, { "@type": "ListItem", "position": 2, "name": "FlowMusic API v1", "item": "https://useapi.net/docs/api-flowmusic-v1" }, { "@type": "ListItem", "position": 3, "name": "MCP Server", "item": "https://useapi.net/docs/api-flowmusic-v1/mcp" } ] }