Songbrain

Song in, video plan out: beat grid, best moments, timed lyrics, story and a beat-synced shot plan.

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
62%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_pricing' description lacks action verbin get_pricing
  • LOWTool 'get_account' description lacks action verbin get_account

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~830Tokens (tool definitions)
~607 BTypical response size
Moderate attention impact (0.65% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "songbrain": {
      "url": "https://api.songbrain.ai/mcp"
    }
  }
}

Remote endpoints

https://api.songbrain.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_example_analysis(example_id, sections, view)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "example_id": {
      "type": "string",
      "description": "id from list_example_songs"
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "song_dna",
          "timeline",
          "best_moments",
          "lyrics",
          "scores",
          "story",
          "shot_plan"
        ]
      },
      "description": "Only these sections (default: all)"
    },
    "view": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "default": "summary"
    }
  },
  "required": [
    "example_id"
  ],
  "additionalProperties": false
}
🟢get_example_shot_plan(example_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "example_id": {
      "type": "string"
    }
  },
  "required": [
    "example_id"
  ],
  "additionalProperties": false
}
🟢get_pricing

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

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢analyze_song(audio_url, title, artist, lyrics)

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 or 25 credits.

Input Schema

{
  "type": "object",
  "properties": {
    "audio_url": {
      "type": "string",
      "description": "Public http(s) URL of the audio file"
    },
    "title": {
      "type": "string"
    },
    "artist": {
      "type": "string"
    },
    "lyrics": {
      "type": "string",
      "description": "Optional: the song's lyrics as plain text. Used for the exact words (timings still come from the audio)."
    }
  },
  "required": [
    "audio_url"
  ],
  "additionalProperties": false
}
🟢get_song(song_id, sections, view)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "song_id": {
      "type": "string"
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "song_dna",
          "timeline",
          "best_moments",
          "lyrics",
          "scores",
          "story",
          "shot_plan"
        ]
      }
    },
    "view": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "default": "summary"
    }
  },
  "required": [
    "song_id"
  ],
  "additionalProperties": false
}
🟢get_account

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

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools