프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Songbrain

제작자: songbrain-ai버전 1.0.4i★ –i클라우드에서 실행
레지스트리 이름io.github.songbrain-ai/songbrain

설치

개요

제작자가 쓴 설명(영어 원문)

Best moments + video-gen prompts per scene, beats, tempo, key. Spotify Audio Features alternative.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 클라우드에서 실행
  • 전송 방식: Streamable HTTP
  • 카테고리: 디자인, 이미지 및 오디오
  • 입력해야 할 값: X-API-Key

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http songbrain https://api.songbrain.ai/v1/mcp --header 'X-API-Key: your-value'

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "songbrain": {
      "url": "https://api.songbrain.ai/v1/mcp",
      "headers": {
        "X-API-Key": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "songbrain": {
      "type": "http",
      "url": "https://api.songbrain.ai/v1/mcp",
      "headers": {
        "X-API-Key": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • X-API-Key 비밀 HTTP header
    Optional Songbrain API key (sb_live_...) to analyse your own songs. Without it, the example tools work. Get one at https://app.songbrain.ai/developers

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.

  • list_example_songs

    List 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.

  • get_example_analysis

    Full 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.

  • get_example_shot_plan

    The 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.

  • get_pricing

    Songbrain API prices (free songs per month, price per song) and limits.

  • analyze_song

    Start 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, o

  • get_song

    Status 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.

  • add_video_direction

    For 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).

  • get_account

    Free songs left this month, credit balance and price per song for the connected key.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 songbrain-ai 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    434ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • ✓ 통과

    도구 설명에 숨겨진 지시 없음

    도구 설명 8개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요

디자인, 이미지 및 오디오 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 2789개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 2789개 중 63%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 2789개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Songbrain, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: X-API-Key

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.4)은 19일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

제작자: GLips널리 사용됨↓ 16.1만/주★ 1.6만5개월 전 업데이트

내 컴퓨터에서 실행

Claude Real Video

Let any LLM watch a video locally — and search everything it has ever watched.

제작자: HUANGCHIHHUNGLeo널리 사용됨↓ 1.1천/주★ 2.3천2개월 전 업데이트

내 컴퓨터에서 실행

Figma MCP Server

The Figma MCP server brings Figma design context directly into your AI workflow.

제작자: figma성장 중★ 2.2천13개월 전 업데이트

클라우드에서 실행✓ mcp.figma.com

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Songbrain

Song in, video plan out — the music analysis API for AI video.

Send a song. Get back JSON that a video model can use directly: what the song is, where the beats and sections are, which part to use, what the words are and when they are sung, what the video should show, and a shot list with a prompt for every scene that cuts on the beat.

Under the hood that is beat detection with downbeats, song structure analysis (sections with repeat letters), best-moment detection and word-timed lyrics in one hosted API, plus an MCP server at https://api.songbrain.ai/v1/mcp so Claude, Cursor or ChatGPT can read a song directly (setup guide).

This repository holds the official SDKs for Python and JavaScript/TypeScript, examples, and the MCP server entry.

  • API docs: https://www.songbrain.ai/docs/api
  • OpenAPI: https://api.songbrain.ai/v1/openapi.json
  • Get a key (5 free songs a month): https://app.songbrain.ai/developers
  • Changelog: SDKs · API

Try it now, no key

curl https://api.songbrain.ai/v1/examples/old-truck-home/shot-plan

This returns the story and shot plan of a real song in exactly the format your songs get. GET /v1/examples lists all examples.

What one call returns

One document per song (schema songbrain.song/1). Times are seconds from the start of the song.

SectionWhat is in it
song_dnaGenre and subgenre (37 subgenres), tempo, key and key changes, mood, vocal style, instruments, energy, loudness (LUFS, true peak, per-platform check), a tagline and similar tracks
timelineEvery beat, every downbeat, time signature, sections with repeat letters (A, B, A) and energy, vocal changes, lyric hooks
best_momentsRanked windows with start, peak and end, a score, the reason they work and the measured signals behind it, the beats inside, the words sung
lyricsLines with start and end, and every word with its own start and end
scoresVirality, quality and lyrics scores with breakdowns, what works, what to fix, audience
storyWhat the song means, one world, a three-colour palette, the one element the video is about (before, event, after), setup / turn / payoff
shot_planA beat-synced edit of the best moment (about 15 s, 9:16): every scene with absolute start and end seconds, act, kind, camera motion, transition, framing and a ready image/video prompt. Plus a section-level plan for the full song with cut points on the beat

One scene from the shot plan:

{

"index": 1, "kind": "tease", "act": "setup", "start_sec": 94.83, "end_sec": 96.246, "duration_sec": 1.416, "beats_in_scene": 4, "transition_in": "cold open, hold", "motion": "slow push-in on a still world", "prompt": "wide establishing shot of the empty space: A distant, warm yellow light source pulses faintly in the deep blue night ...", "sung": null }

A song takes 60–90 seconds to analyse (up to about 2 minutes when busy).

Prompts for video models, starting from the best moment

Most of a song is not worth animating. Songbrain ranks the strongest windows first (best_moments, each with the reason it works and the audio signals behind it) and builds the shot_plan on the top one: about 15 seconds, cut on the beat, one scene per cut. Every scene carries a ready prompt for an image or video model, written from the song's story, world and three-colour palette, so the scenes look like one film instead of unrelated clips.

{"index": 8, "act": "turn", "start_sec": 102.965, "end_sec": 103.282, "motion": "impact: frame lands displaced and settles, fast energy",

"prompt": "tight detail shot: The truck's grille, showing rust, illuminated by the faint glow of the low headlight. Faded brown and warm yellow, in ..."}

Pass the prompts to Kling, Runway, Luma, Veo or a hosted model on fal or Replicate, and cut the clips at the given seconds. Recipes: render-with-your-model.md, song_to_clips_fal.py, song_to_clips_replicate.py. The full-song plan (shot_plan.full_song) gives the cut points for a complete video.

Coming from Spotify Audio Features or Audio Analysis?

Since November 27, 2024, new Spotify apps get a 403 on /audio-features and /audio-analysis. Songbrain returns the same kind of data from any audio file, released or not, and more:

SpotifySongbrainNote
temposong_dna.tempo_bpmplus tempo_confidence
key + modesong_dna.key"C minor"; key_changes[] with the second each one happens
energysong_dna.energy0–1, plus energy per section
loudnesssong_dna.loudness_lufsEBU R128 integrated loudness and true peak
valence, danceabilitysong_dna.mood[]mood words rather than a number
instrumentalness, speechinesshas_vocals, song_dna.vocalsvocal style or "instrumental"
audio-analysis beatstimeline.beatsevery beat in seconds
audio-analysis barstimeline.downbeatsfirst beat of each bar
audio-analysis sectionstimeline.sectionswith repeat letters (A, B, A …) and relative energy
—best_moments, lyrics, story, shot_plannot in Spotify: the strongest windows and why, word timings, a shot list

Migration guide with a ten-line example: https://www.songbrain.ai/guides/spotify-audio-features-alternative

Install

pip install songbrain     # Python 3.9+, one dependency (requests)

npm install songbrain # Node 18+, no runtime dependencies, ESM + CJS + types

Packages: PyPI · npm.

Quickstart: Python

from songbrain import Songbrain

sb = Songbrain() # reads SONGBRAIN_API_KEY song = sb.analyze("song.mp3") # or analyze(audio_url="https://…")

dna = song["song_dna"] print(dna["genre"], dna["tempo_bpm"], dna["key"]) for s in song"shot_plan"["scenes"]: print(f'{s["start_sec"]:.2f}-{s["end_sec"]:.2f} [{s["act"]}] {s["prompt"]}')

Quickstart: TypeScript / JavaScript

import { Songbrain } from "songbrain";

const sb = new Songbrain(); // reads SONGBRAIN_API_KEY const song = await sb.analyze({ file: "song.mp3" }); // or { audioUrl: "https://…" }

const dna = song.song_dna!; console.log(dna.genre, dna.tempo_bpm, dna.key); for (const s of song.shot_plan?.clip?.scenes ?? []) { console.log(${s.start_sec.toFixed(2)}-${s.end_sec.toFixed(2)} [${s.act}] ${s.prompt}); }

analyze() uploads, waits until the song is done and returns the full document. Pass wait=False (Python) or wait: false (JS) to get the id right away, then use a webhook or get_song / getSong later.

Two modes

Every song is analysed in one of two modes. Use dna when you only need the data, or to sort many songs first. Then add the video direction to the ones you pick. dna plus the direction costs the same as full.

ModeWhat you getPrice
dnaSong DNA: song_dna, timeline, best_moments, lyrics, scores. No story, no shot plan10 credits, about $0.20
full (default)Song DNA + video direction: story and a beat-synced shot_plan with a prompt per scene25 credits, about $0.50
Add direction laterstory + shot_plan for a finished dna song. No new upload15 credits, about $0.30
song = sb.analyze("song.mp3", mode="dna")       # 10 credits: no story, no shot plan

if song"scores"["score"] >= 80: song = sb.add_direction(song["id"]) # +15 credits, waits about 30-40 s print(song"shot_plan""scenes"["prompt"])

let song = await sb.analyze({ file: "song.mp3", mode: "dna" }); // 10 credits: no story, no shot plan

if ((song.scores?.virality.score ?? 0) >= 80) { song = await sb.addDirection(song.id); // +15 credits, waits about 30-40 s console.log(song.shot_plan?.clip?.scenes[0]?.prompt); }

The 5 free songs a month cover either mode. Adding the direction never uses a free song. If it fails, the 15 credits are refunded and the song stays dna. GET /v1/songs/{id}/shot-plan on a dna song answers 409 no_direction.

Without an SDK: send "mode": "dna" in the JSON body (or -F "mode=dna" with an upload), then POST /v1/songs/{id}/direction. Try the dna view without a key: GET https://api.songbrain.ai/v1/examples/sugar-rush?mode=dna.

SDK methods

Python uses snake_case and JS uses camelCase method names. Response fields are the API's own names in both.

PythonJavaScriptAPIKey
`analyze(file \audio_url=…, mode=None, test=False, idempotency_key=None, wait=True)``analyze({ file \audioUrl, mode, test, idempotencyKey, wait })`POST /v1/songs + pollingyes
add_direction(id, wait=True)addDirection(id, { wait })POST /v1/songs/{id}/direction + pollingyes
get_song(id, view, include)getSong(id, { view, include })GET /v1/songs/{id}yes
shot_plan(id)shotPlan(id)GET /v1/songs/{id}/shot-planyes
list_songs(limit, starting_after)listSongs({ limit, startingAfter })GET /v1/songsyes
iter_songs(page_size)iterSongs({ pageSize })GET /v1/songs, every pageyes
delete_song(id)deleteSong(id)DELETE /v1/songs/{id}yes
account()account()GET /v1/accountyes
test_webhook(url)testWebhook(url)POST /v1/webhooks/testyes
webhook_deliveries(limit)webhookDeliveries({ limit })GET /v1/webhooks/deliveriesyes
pricing()pricing()GET /v1/pricingno
examples()examples()GET /v1/examplesno
example(id, view, include, mode)example(id, { view, include, mode })GET /v1/examples/{id}no
example_shot_plan(id)exampleShotPlan(id)GET /v1/examples/{id}/shot-planno
webhooks.verify(body, header, secret)verifyWebhook(body, header, secret)Songbrain-Signature header–

Both SDKs:

  • send the key as Authorization: Bearer sb_live_…,
  • raise SongbrainError (status, code, message, request_id / requestId) and the subclasses AuthenticationError, InsufficientCredits, NotFound, RateLimited (with retry_after / retryAfter), AnalysisFailed and WaitTimeout,
  • send an Idempotency-Key with every new song and retry network errors, 429 and 5xx up to 3 times with backoff, honouring Retry-After,
  • keep the last rate-limit headers in last_rate_limit / lastRateLimit.

Package docs: python/README.md · js/README.md

Without an SDK

# 1. send a file (or JSON {"audio_url": "https://…"})

curl -X POST https://api.songbrain.ai/v1/songs \ -H "Authorization: Bearer $SONGBRAIN_API_KEY" \ -F "file=@song.mp3" -F "title=My Song"

→ 202 {"id": "…", "status": "processing", "eta_sec": 75, "billing": {…}}

2. poll until status is "done"

curl https://api.songbrain.ai/v1/songs/$ID -H "Authorization: Bearer $SONGBRAIN_API_KEY"

Options on document

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기