Skip to main content
Glama
crates-music-mcp

crates-music-mcp

by guohangbk

analyze_music_profile

Collects liked songs across selected music platforms and returns a compact statistical summary for building a taste profile.

Instructions

Pull every platform's liked songs and return a compact statistical summary, which the model turns into a taste profile and stores with save_profile.

services: 平台列表,如 ["qq_music","netease","kugou"];留空 = 全部平台。

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": "analyze_music_profile"
  }
}

Input Schema

NameRequiredDescriptionDefault
servicesNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool aggregates across all platforms by default and returns a statistical summary for taste-profile creation, but it omits authentication requirements, rate limits, and whether the tool itself writes anything or only prepares data for save_profile.

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?

The description is compact and front-loads the main behavior in the first sentence. The parameter note is useful but appears in Chinese after an English sentence, creating slight structural and language inconsistency rather than redundancy.

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

Completeness3/5

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

The tool is simple and has an output schema, so return-value details are not required. The description covers the core behavior and the services parameter, but it leaves important prerequisites unstated, especially whether platform login is required and whether save_profile is called externally by the model or automatically by this 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?

The input schema has effectively 0% property-level description coverage for services, but the description compensates by explaining that it is a platform list, giving example values, and stating that an empty value means all platforms. That empty-means-all semantics is essential and not present in the schema.

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

Purpose4/5

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

The description states a specific action and output: pull liked songs from every platform and return a compact statistical summary that becomes a taste profile. This clearly distinguishes it from raw song-listing siblings such as liked_songs. However, it does not explicitly name those siblings as alternatives, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

The description implies the tool is used when the agent needs an aggregate taste profile rather than raw liked-song lists, and it mentions the downstream save_profile workflow. It does not state when not to use it, nor does it explicitly name alternatives such as liked_songs. Usage guidance is therefore implied rather than explicit.

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