Skip to main content
Glama
crates-music-mcp

crates-music-mcp

by guohangbk

recent_recommended_tracks

Lists songs recommended within the last 14 days, deduplicated, to review recent recommendations without confusing them with the user's listening history.

Instructions

我们最近 14 天推荐过的歌(去重用),不是用户的听歌历史。

想看"用户最近在听什么"用 recent_played(service=...)。

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "recent_recommended_tracks"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations are absent, so the description carries the full burden. It discloses the meaningful behavioral facts: the 14-day lookback window and the deduplication intent behind the returned recommendations. It does not discuss ordering, result volume, or whether results span multiple music services, which keeps it short of a 5.

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?

Two short sentences, with the defining scope bolded and front-loaded and the disambiguation second. Nothing is repeated and nothing is wasted.

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 zero parameters and an output schema already documenting the return shape, the description only needs to establish scope and routing, which it does. The one remaining gap is any note on ordering or whether recommendations across services are merged, which an agent might still wonder about.

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

Parameters4/5

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

The tool takes no parameters, so 4 is the baseline. The mention of recent_played(service=...) documents a sibling's parameter rather than this tool's, but it usefully signals that this tool deliberately requires no service argument.

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 names a specific resource and scope: songs recommended within the last 14 days, returned for deduplication purposes, explicitly not the user's listening history. That contrast with 'listening history' immediately separates it from look-alikes such as recent_played or recent_tracks.

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

Usage Guidelines5/5

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

It gives both a when-not ('这不是用户的听歌历史') and a concrete alternative with the routing condition spelled out: to see what the user is recently listening to, call recent_played(service=...). An agent does not need to infer anything to choose between the two.

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