Skip to main content
Glama
HearthisAt

hearthis

Official
by HearthisAt

Like / unlike

toggle_like
Destructive

Toggles a track's like status: adds a like or removes it if already liked, and returns the new state.

Instructions

Likes a track, or removes the like when it is already liked. The answer says the new state.

Input Schema

NameRequiredDescriptionDefault
trackYesTrack permalink, e.g. "my-mix" from https://hearthis.at/djname/my-mix/
authorYesProfile permalink, e.g. "djname" from https://hearthis.at/djname/

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations flag destructiveHint=true and idempotentHint=false; the description adds the crucial meaning behind those flags – the operation is a state flip, and unliking destroys an existing like. It also discloses the return signal ("The answer says the new state"), which annotations cannot convey. It stops short of permissions, rate limits, or what happens on an invalid/unliked track.

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, toggle behavior front-loaded, return behavior second. Nothing redundant for a two-parameter tool.

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?

For a simple two-required-string tool with full annotation coverage, the description covers both what it does and what it returns. Minor gaps remain around auth requirements and failure behavior, but no output schema exists and none of the essentials for calling it are 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%, with both required parameters already documented with permalink examples. The description adds no syntax or scoping information beyond the schema, so the baseline of 3 applies.

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?

States a specific verb and resource ("Likes a track") plus the exact conditional semantics ("removes the like when it is already liked"). It doesn't explicitly distinguish itself from the similarly-named toggle_repost/toggle_follow siblings, so an agent must infer the resource difference.

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?

There is no explicit when/when-not guidance and no named alternative. The toggle semantics do implicitly warn that a second call undoes the first, which is a useful usage cue, but that is context rather than stated guidance.

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