Songbrain
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Best moments + video-gen prompts per scene, beats, tempo, key. Spotify Audio Features alternative.
| Author | io.github.songbrain-ai |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 571 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Songbrain": {
"url": "https://api.songbrain.ai/v1/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
list_example_songsread-onlyList real Songbrain analyses of Songbrain's own songs (no API key needed). Use one to show what the API returns before analysing a user's song.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_example_analysisread-onlyFull analysis of an example song: Song DNA, beat grid and sections, best moments, lyrics, scores, story and shot plan. No API key needed. Summary view by default (no per-word timings or beat arrays); set view='full' for everything.
Parameters:
example_id(required) — string — id from list_example_songsview— stringsections— array — Only these sections (default: all)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_example_shot_planread-onlyThe beat-synced shot plan of an example song: every scene with start and end seconds, its act (setup, turn or payoff), the image/video prompt, framing, motion and the lyric sung under it, plus the story, world and palette. No key needed.
Parameters:
example_id(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_pricingread-onlySongbrain API prices (free songs per month, price per song) and limits.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
analyze_songStart the analysis of a song at a public audio URL (MP3, WAV, FLAC, M4A, AAC, OGG or AIFF; 30 s to 10 min). Needs an API key on the MCP connection. Returns a song_id; poll get_song until status is 'done' (typically 60–90 seconds, up to ~2 minutes when busy). Uses one free song, or 25 credits (mode 'full') / 10 credits (mode 'dna').
Parameters:
audio_url(required) — string — Public http(s) URL of the audio filemode— string — full = Song DNA + video direction (story, shot plan with prompts), 25 credits. dna = Song DNA only (no story, no shot plan), 10 credits. A free song covers either.title— stringartist— stringlyrics— string — Optional: the song's lyrics as plain text. Used for the exact words (timings still come from the audio).
Hints: read-only no · destructive no · idempotent not declared · open-world yes
get_songread-onlyStatus of a song started with analyze_song, then its full analysis once done. Summary view by default; view='full' adds word timings and beat arrays.
Parameters:
song_id(required) — stringview— stringsections— array
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
add_video_directionFor a finished song analysed with mode 'dna': builds its story and beat-synced shot plan (scenes with seconds and image/video prompts) from the existing analysis. 15 credits, refunded if it fails. Then poll get_song (about 30 seconds).
Parameters:
song_id(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
get_accountread-onlyFree songs left this month, credit balance and price per song for the connected key.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.