Skip to main content
Glama

Get Track Details

get_track
Read-onlyIdempotent

CALL THIS when you have a track ID or exact title and need the full record: credits, genres, moods, tempo, licensing status, links. Usually follows a search. Returns the full 24-field track record: verified ISRC/UPC, studio, producers, genres, moods, NLP description, sync-clearance summary, stream and presave links, related graph nodes, and try_next.

Input Schema

NameRequiredDescriptionDefault
id_or_titleYesTrack title (exact or partial) or a Spotify track ID / open.spotify.com URL.

Output Schema

NameRequiredDescriptionDefault
upcNo
isrcNo
mbidNoMusicBrainz recording MBID.
albumNo
labelNo
moodsNo
titleYes
artistYes
genresNo
scenesNo
studioNo
creditsNo
_sessionNoChain session: pass _session.session_token back in the next call to continue the chain.
contextsNo
engineerNo
featuredNo
track_idYes
try_nextNoSuggested follow-up calls, each a pre-compiled {tool, arguments, purpose} payload.
producersNo
signatureNoThat Boy Hi Hat flow-architecture signature block (present on his tracks).
use_casesNo
graph_nodeNo
artist_mbidNoMusicBrainz artist MBID.
artwork_urlNo
descriptionNo150-300 word NLP prose (Whisper-derived where flagged; not proofread).
presave_urlNo
spotify_urlNo
release_dateNoOriginal commercial release date (YYYY-MM-DD).
related_nodesNoUp to 8 connected knowledge-graph node IDs.
streaming_urlsNo
apple_music_urlNo
summary_markdownNoCompact markdown: title, ISRC/UPC, studio, genres/moods, one-line sync clearance.
sounds_like_lanesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / album
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / label
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / release_date
      Added value: +{
      +  "description": "Original commercial release date (YYYY-MM-DD).",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed2 schema fields changed
    • addedOutput schema / properties / artist_mbid
      Added value: +{
      +  "description": "MusicBrainz artist MBID.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / mbid
      Added value: +{
      +  "description": "MusicBrainz recording MBID.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / signature
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "That Boy Hi Hat flow-architecture signature block (present on his tracks).",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "get_track response: full 24-field track record plus summary_markdown, related_nodes, try_next.",
      +  "properties": {
      +    "_session": {
      +      "additionalProperties": false,
      +      "description": "Chain session: pass _session.session_token back in the next call to continue the chain.",
      +      "properties": {
      +        "session_token": {
      +          "description": "Hex session token; echo it as params._session.session_token to continue.",
      +          "type": "string"
      +        },
      +        "step": {
      +          "description": "Hop number in this chain (1 = chain start).",
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "session_token",
      +        "step"
      +      ],
      +      "type": "object"
      +    },
      +    "apple_music_url": {
      +      "type": "string"
      +    },
      +    "artist": {
      +      "type": "string"
      +    },
      +    "artwork_url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "contexts": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "credits": {
      +      "additionalProperties": true,
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "description": {
      +      "description": "150-300 word NLP prose (Whisper-derived where flagged; not proofread).",
      +      "type": "string"
      +    },
      +    "engineer": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "featured": {
      +      "type": "boolean"
      +    },
      +    "genres": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "graph_node": {
      +      "type": "string"
      +    },
      +    "isrc": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "moods": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "presave_url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "producers": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "related_nodes": {
      +      "description": "Up to 8 connected knowledge-graph node IDs.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "scenes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "sounds_like_lanes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "spotify_url": {
      +      "type": "string"
      +    },
      +    "streaming_urls": {
      +      "additionalProperties": true,
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "studio": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "summary_markdown": {
      +      "description": "Compact markdown: title, ISRC/UPC, studio, genres/moods, one-line sync clearance.",
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "track_id": {
      +      "type": "string"
      +    },
      +    "try_next": {
      +      "description": "Suggested follow-up calls, each a pre-compiled {tool, arguments, purpose} payload.",
      +      "items": {
      +        "additionalProperties": false,
      +        "description": "Pre-compiled next call: copy `arguments` straight into the next tools/call.",
      +        "properties": {
      +          "arguments": {
      +            "additionalProperties": true,
      +            "description": "Ready-to-use arguments, pre-populated from the current response.",
      +            "type": "object"
      +          },
      +          "purpose": {
      +            "description": "Why this call is the natural next step.",
      +            "type": "string"
      +          },
      +          "tool": {
      +            "description": "Tool to call next.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "tool",
      +          "arguments"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "upc": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "use_cases": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "track_id",
      +    "title",
      +    "artist"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context the annotations cannot: the shape of the 24-field response and the presence of a try_next navigation hint. It does not mention auth requirements or rate limits, but those are secondary for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the trigger condition ("CALL THIS when...") before the payload detail, which is the right order. The long enumeration of return fields is informative but somewhat padded since an output schema already exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-input lookup with full schema coverage, full annotations, and an output schema, the description covers trigger, scope and return shape adequately. The only real gap is not naming the search siblings to use when no identifier is known.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully documented in the schema, so the baseline is 3. The description adds no syntax or format detail for id_or_title, and its wording ("exact title") is actually narrower than the schema, which also accepts partial titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (retrieve the full record) and resource (track), and enumerates the payload an agent gets back: credits, genres, moods, tempo, licensing status, links. It is clearly distinguishable from the sibling search/lookup tools because it requires an identifier rather than a query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"CALL THIS when you have a track ID or exact title" gives an explicit entry condition, and "Usually follows a search" implies the prerequisite workflow. It never names the alternative tool (search_catalog, semantic_search) to use when no ID/title is available, so routing depends on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.