← The evidence ledger
Evidence row 291272
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 95ba899c-d239-489e-8aaa-9bee2835de44
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- eb583d9a04b3ecf6ee1689f9a988a8765ff665f6804c86da480f6012ced2188b
- Leaf
- 0x02fc071f1c985667c0b20863cefb5b63926608d6186d15142a131d86a9b0194d
What was observed
{
"count": 8,
"tools": [
{
"description": "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).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"song_id": {
"type": "string"
}
},
"required": [
"song_id"
],
"type": "object"
},
"name": "add_video_direction"
},
{
"description": "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 (mode 'full') / 10 credits (mode 'dna').",
"inputSchema": {
"additionalProperties": false,
"properties": {
"artist": {
"type": "string"
},
"audio_url": {
"description": "Public http(s) URL of the audio file",
"type": "string"
},
"lyrics": {
"description": "Optional: the song's lyrics as plain text. Used for the exact words (timings still come from the audio).",
"type": "string"
},
"mode": {
"default": "full",
"description": "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.",
"enum": [
"full",
"dna"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"audio_url"
],
"type": "object"
},
"name": "analyze_song"
},
{
"description": "Free songs left this month, credit balance and price per song for the connected key.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_account"
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"example_id": {
"description": "id from list_example_songs",
"type": "string"
},
"sections": {
"description": "Only these sections (default: all)",
"items": {
"enum": [
"song_dna",
"timeline",
"best_moments",
"lyrics",
"scores",
"story",
"shot_plan"
],
"type": "string"
},
"type": "array"
},
"view": {
"default": "summary",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"example_id"
],
"type": "object"
},
"name": "get_example_analysis"
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"example_id": {
"type": "string"
}
},
"required": [
"example_id"
],
"type": "object"
},
"name": "get_example_shot_plan"
},
{
"description": "Songbrain API prices (free songs per month, price per song) and limits.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_pricing"
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"sections": {
"items": {
"enum": [
"song_dna",
"timeline",
"best_moments",
"lyrics",
"scores",
"story",
"shot_plan"
],
"type": "string"
},
"type": "array"
},
"song_id": {
"type": "string"
},
"view": {
"default": "summary",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"song_id"
],
"type": "object"
},
"name": "get_song"
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_example_songs"
}
]
}What the leaf hashes
{"body":"eb583d9a04b3ecf6ee1689f9a988a8765ff665f6804c86da480f6012ced2188b","id":291272,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793047975327090,"prev":null,"subject":"95ba899c-d239-489e-8aaa-9bee2835de44","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.