Skip to main content
Glama

List songs

list_songs
Read-onlyIdempotent

Songs with their cover, duration and analysis status. A song must be analyzed (analysis.status "ready") before videos can be made. 50 per page by default: pass q to search, and limit/offset to page. cover_art.url is the cover at up to 1536 px (JPEG; width and height describe it), preview_url a 640 px and thumbnail_url a 160 px WebP. Image links are signed for 7 days and stay the same all day, so they can be cached.

Input Schema

NameRequiredDescriptionDefault
qNoPart of the song title or artist name
sortNotitle (default): by artist then title; newest: latest uploads first
limitNoResults per page, 1-100 (default 50)
offsetNoHow many results to skip
statusNoOnly songs whose analysis has this status (ready = usable for videos)
artist_idNoOnly this artist’s songs

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: image links are signed for 7 days and remain stable within a day so they are safe to cache, and the analysis.status prerequisite gates video creation.

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?

Compact and mostly front-loaded: listing scope, then the analysis prerequisite, then paging, then image-link details. No filler sentences, though the opening fragment is less direct than an explicit 'Lists songs...' statement.

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?

With no output schema, the description usefully documents the returned fields (cover, duration, analysis status) and the three image URL variants with their sizes, formats, and signing lifetime. An agent can call and interpret results without further help; only sibling disambiguation is missing.

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 description coverage is 100%, so the schema already documents q, sort, limit, offset, status, and artist_id with enums and bounds. The description only loosely echoes search/paging usage and instead spends its words on response field details, adding little parameter meaning beyond the schema baseline.

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

Purpose3/5

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

The description opens with a noun phrase ('Songs with their cover, duration and analysis status') rather than a verb+resource, so the listing action is only implied. It also fails to distinguish itself from close siblings such as show_songs and get_song, leaving the agent to guess which retrieval tool applies.

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

Usage Guidelines2/5

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

It gives paging mechanics ('pass q to search, and limit/offset to page') and a domain prerequisite (a song must be ready before videos), but never says when to choose this tool over show_songs, get_song, or list_videos. No exclusions or alternatives are stated.

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.

Resources