Skip to main content
Glama
WalterT812

netease-desktop-mcp

by WalterT812

netease_set_liked

netease_set_liked
DestructiveIdempotent

Set the current NetEase Cloud Music track's liked state to true or false using a trackKey from a fresh status result. Rejects stale or unknown state to prevent accidental modifications.

Instructions

Set the current song heart only when explicitly requested. Supply trackKey from a fresh status result. Refuses unknown heart state or changed labels. Visible UI verification is not server-side persistence verification.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
likedYes
trackKeyYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0-alpha.4

TDQS

A4.2/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the annotations: visible UI verification is not server-side persistence verification, and the tool refuses stale or inconsistent state. With readOnlyHint=false and destructiveHint=true, the mutation context is already implied; the description adds meaningful caution about relying on UI feedback.

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?

Four short, dense sentences, each earning its place. The core instruction is front-loaded, followed by prerequisites, refusal behavior, and verification caveat. No filler or redundant restatement of the tool name.

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

Completeness5/5

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

Given only 2 simple parameters, an output schema, and sibling context, the description covers purpose, usage conditions, parameter sourcing, and verification caveats. Nothing essential for an agent to invoke the tool correctly appears to be missing.

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?

Schema description coverage is 0%, so the description carries the burden. It adds the critical semantic that trackKey must come from a fresh status result, and frames `liked` as the heart state. This is useful beyond the bare boolean/string schema, though it could explain the liked-to-heart mapping more explicitly.

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—setting the current song's heart/liked state—with a clear resource target. It is distinguishable from the sibling tools like netease_set_playback and netease_skip_track, though it does not explicitly name a sibling to differentiate against.

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?

It gives clear when-to-use guidance: only when explicitly requested, and requires a fresh status result for trackKey. It also notes refusal conditions for unknown heart state or changed labels. It stops short of naming alternative tools or contrasting them directly.

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