Skip to main content
Glama
rollecode

lastfm-mcp

by rollecode

get_artist_top_tracks

Read-onlyIdempotent

Get an artist's most played tracks from Last.fm. Specify artist name or MusicBrainz ID, set result limit and page, and enable autocorrect for misspelled names.

Instructions

Get an artist's most played tracks.

Args: artist: Artist name. Required unless mbid is given. mbid: MusicBrainz id for the artist. limit: Results per page. page: Which page of results to fetch. autocorrect: Let Last.fm fix a misspelled artist name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mbidNo
pageNo
limitNo
artistNo
autocorrectNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, lowering the burden on the description. The description adds meaningful behavioral context including the autocorrect behavior (fixing misspelled names) and the conditional requirement that artist is needed unless mbid is provided. It does not disclose rate limits or auth needs, but these are less critical given the annotation coverage.

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

Conciseness5/5

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

The description is a single front-loaded summary sentence followed by a clean, well-formatted Args list. Every line earns its place, with no tautology or filler.

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?

Given the output schema exists, the description need not explain return values. It covers all parameters and the key dependency (artist or mbid). It could be slightly more complete by explicitly noting behavior when neither parameter is supplied or how the artist/mbid interaction is resolved, but overall it is adequate for a 5-parameter tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate. The Args block provides clear, useful semantics for all five parameters: artist (name, required unless mbid), mbid (MusicBrainz ID), limit (results per page), page (pagination), and autocorrect (fix misspellings). This adds significant meaning beyond the raw schema.

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?

The description's first sentence, 'Get an artist's most played tracks', uses a specific verb and resource, and the 'artist's' qualifier clearly distinguishes it from sibling tools focusing on users, tags, charts, or albums. This leaves no ambiguity about which endpoint is being described.

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?

The description clearly implies the tool is for artist-scoped top tracks, which is enough for an agent to choose it over user/chart/tag track tools. However, it does not explicitly state when to prefer this over get_artist_top_albums or get_user_top_tracks, nor does it mention any exclusions.

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