Skip to main content
Glama
sickn33
by sickn33

TIDAL MCP — Complete, Safety-First TIDAL Server for AI Assistants

Abstract sound waves becoming a network of MCP tools

CI Website npm Python 3.11–3.13 MCP Python SDK 2.x Tests: 100% statements + branches License: MIT

TIDAL MCP connects Codex, Claude Desktop, Claude Code, Cursor, and other stdio-compatible Model Context Protocol clients to a TIDAL account. Search the catalog, analyze playlists, discover music, read lyrics and credits, manage favorites, organize folders, and safely create or edit playlists through 112 typed MCP tools.

Positioning: as of September 4, 2026, this is the most complete public TIDAL MCP implementation found in a reproducible review of the current GitHub landscape. The claim is based on registered tool coverage, structured schemas, mutation safety, and automated test evidence—not marketing alone. See the dated comparison.

Why this TIDAL MCP exists

Most TIDAL integrations expose a small selection of search and playlist commands. TIDAL MCP is built as a complete local control surface for AI agents while keeping credentials and approvals on your machine.

  • 112 discoverable tools: 74 reads, 36 mutation previews, and 2 approval-token commits.

  • Broad account coverage: catalog, editorial pages, recommendations, lyrics, favorites, playlists, folders, mixes, images, and playback metadata.

  • Safe writes: mutations are off by default and always require preview → explicit approval → commit.

  • Private authentication: OAuth session data never travels through MCP tool responses.

  • Typed and bounded: every input and output has a schema, limits, and MCP safety annotations.

  • Verified quality: 100% statement and branch test coverage plus a real stdio handshake and an optional authenticated read-only smoke test.

Related MCP server: Spotify Playlist MCP

What can an AI assistant do with TIDAL?

Ask naturally:

  • “Analyze my entire workout playlist: artist concentration, eras, duplicates, duration, and sequencing.”

  • “Find 20 tracks related to these three songs, exclude anything already in my playlist, and use at most two tracks per artist.”

  • “Compare an artist’s albums, EPs, singles, appearances, top tracks, biography, and related artists.”

  • “Show my favorite albums and playlists, then summarize how my collection is distributed.”

  • “Prepare a new playlist from these recommendations and show me the exact changes before doing anything.”

  • “Move these playlists into a folder, but ask for confirmation before changing my account.”

See real-world workflows and prompt examples.

Tool coverage

Surface

Tools

Examples

Authentication, search, recommendations

3

status, multi-type search, deterministic multi-seed recommendations

Catalog, editorial, discovery

49

tracks, albums, artists, videos, lyrics, credits, genres, Home, Explore, For You

Collection, playlists, folders

22

favorites, counts, playlist items, owned/public playlists, folders, mixes

Exact mutation previews

36

playlist CRUD, item moves, visibility, favorites, folders

Approval-token commits

2

universal commit and compatible playlist-creation alias

Every list operation is bounded and paginated. Every result uses a public-field allowlist so OAuth tokens, request clients, and internal session data cannot enter model context. The complete map is in API_COVERAGE.md.

Quick start

Requirements

  • macOS or Linux; macOS is live-account tested

  • Node.js 18 or newer

  • Python 3.11–3.13

  • uv

  • A TIDAL account

1. Install and authenticate

npx -y @sickn33/tidal-mcp auth

Open the device-authorization URL, approve access in TIDAL, and return to the terminal. The session is stored in your private operating-system application-data directory, not in the repository.

Check or remove it at any time:

npx -y @sickn33/tidal-mcp auth --status
npx -y @sickn33/tidal-mcp auth --logout --yes

To install from source for development instead:

git clone https://github.com/sickn33/tidal-mcp.git
cd tidal-mcp
uv sync
uv run tidal-auth

2. Connect an MCP client

Use npm directly; the package launches the pinned Python implementation locally through uvx:

{
  "mcpServers": {
    "tidal": {
      "command": "npx",
      "args": [
        "-y",
        "@sickn33/tidal-mcp"
      ]
    }
  }
}

Restart or reconnect your MCP client, then ask: “Check my TIDAL authentication status.”

Enable safe account writes

Remote writes are disabled unless the MCP process receives:

"env": {
  "TIDAL_MCP_ENABLE_WRITES": "1"
}

Enabling the flag does not make mutations automatic. Every change still uses three explicit steps:

  1. A named tidal_preview_* tool records the exact parameters and target metadata in a private, short-lived local draft.

  2. The assistant presents that preview to the user.

  3. Only after approval does tidal_commit_action accept the single-use token and execute exactly the recorded action.

Successful token replays return the stored result. Expired tokens fail closed. Ambiguous failed writes are locked to reduce duplicate effects. Destructive previews are clearly annotated.

Supported TIDAL operations

  • Search and lookup: tracks, albums, artists, playlists, videos, mixes, users, barcodes, ISRCs.

  • Track intelligence: details, radio, radio mixes, lyrics, credits, playback metadata, temporary account-scoped URLs.

  • Artists and albums: discographies, EPs and singles, appearances, biographies, reviews, related artists, similar albums, resolutions, artwork, and editorial pages.

  • Discovery: Home, Explore, For You, genres, moods, mixes, videos, hi-res, and local genre hubs.

  • Collection: favorite tracks, albums, artists, playlists, videos, mixes, folders, and counts.

  • Playlists: metadata, tracks, mixed items, counts, images, create/edit/delete/clear/merge, visibility, add/remove/reorder operations.

  • Folders: inspect, create, rename, delete, and move collection-tree items.

The server intentionally does not download media, bypass DRM, expose raw OAuth methods, or provide an unrestricted private-endpoint proxy.

Configuration

Variable

Default

Meaning

TIDAL_MCP_ENABLE_WRITES

0

Permit approval-token commits for allowlisted account mutations

TIDAL_MCP_DATA_DIR

OS application-data directory

Session and draft root

TIDAL_MCP_SESSION_FILE

<data-dir>/session.json

Override the OAuth session path

TIDAL_MCP_DRAFT_TTL_SECONDS

900

Approval lifetime, between 60 and 3600 seconds

New private directories use mode 0700 and sensitive files use 0600 on systems supporting POSIX permissions. Existing custom parent directories are never silently permission-rewritten.

Verified quality

uv sync --all-groups
uv run ruff format --check .
uv run ruff check .
uv run pytest --cov=tidal_mcp --cov-report=term-missing
uv run python scripts/smoke_stdio.py
uv build

The coverage gate is 100% for statements and branches. Tests exercise every registered read and mutation route through the MCP schemas and the pinned tidalapi adapter without contacting TIDAL. The stdio smoke test launches the packaged protocol process and verifies all 112 tool schemas.

Official releases are published from GitHub Actions through npm Trusted Publishing, with no long-lived npm write token. npm attaches provenance automatically, and the same release workflow publishes the matching metadata to the official MCP Registry through GitHub OIDC.

An optional authenticated smoke test performs representative reads only:

uv run python scripts/smoke_live_read_only.py

Release maintainers can test the exact public npm package through the same MCP client path:

uv run python scripts/smoke_live_read_only.py \
  --command npx \
  --server-arg=-y \
  --server-arg=@sickn33/tidal-mcp@1.0.1

The deterministic evaluation suite and the dated competitive matrix make quality claims inspectable.

Architecture and compatibility

TIDAL provides developer APIs, but developer credentials are issued separately and the official surface does not cover every consumer-account workflow. This local server therefore pins tidalapi 0.8.11, an unofficial adapter around TIDAL’s consumer endpoints, for broad device-login coverage. TIDAL changes can require maintenance; the pinned dependency and live smoke test make that risk visible.

The server uses the MCP Python SDK over stdio. Blocking upstream calls run outside the async protocol event loop. It does not launch a Flask sidecar or store authentication in temporary directories.

Documentation

Project status

Version 1.0.1 is the first fully automated supply-chain release. npm is the primary installation channel, and every release is also published to the official MCP Registry.

License, attribution, and trademark notice

MIT. This repository preserves the history and license of yuhuacheng/tidal-mcp; see NOTICE.md.

TIDAL is a trademark of its respective owner. This is an independent, unofficial community project and is not affiliated with, endorsed by, or sponsored by TIDAL. No TIDAL logo or album artwork is bundled with the project.

Available Tools

112 tools
tidal_auth_statusCheck TIDAL authenticationA
Read-only

Check the local TIDAL session without exposing OAuth credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
user_idNo
usernameNo
session_fileYes
authenticatedYes
login_commandYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the session is local and that OAuth credentials are not exposed, which is useful but thin for a status tool; it says nothing about what state is reported or failure behavior.

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?

A single front-loaded sentence with no filler; the resource and the security constraint are both stated up front.

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 no parameters and an output schema present, the description need not explain return values, and it is adequate for a simple status probe. The only minor gap is not indicating when the result should influence the agent's next action.

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 zero parameters, so the baseline is 4; there are no parameter semantics for the description to clarify. Schema coverage is 100% and there is nothing to compensate for.

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 (Check) and resource (local TIDAL session), which is clearly distinct from the dozens of content-fetching siblings. It does not explicitly name a sibling it differs from, but the auth/status focus makes the scope obvious.

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

Usage Guidelines2/5

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

The description says what it checks but never says when to call it — e.g., before committing actions, or after an auth failure. No alternative tool or condition is mentioned, so usage must be inferred from the name alone.

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

tidal_browse_exploreBrowse TIDAL ExploreC
Read-only

Return the Explore page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and an output schema exists, so the description carries a lower burden. Still, it adds nothing beyond those structured fields: no note about whether content is personalized, region-dependent, or requires authentication, which matters for an openWorld browse endpoint.

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?

A single short sentence with no bloat and the action front-loaded. Its brevity is appropriate in form, though the sentence itself carries very little information.

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

Completeness2/5

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

With zero parameters, an output schema, and safety annotations, the mechanical gaps are covered. What is missing is the distinguishing context against the many sibling browse pages (Home, For You, Genres, Hires, Mixes, Moods), which is exactly the information an agent needs to choose correctly.

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 zero parameters, so the baseline of 4 applies. There is nothing parameter-related for the description to compensate for.

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

Purpose3/5

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

The description states a specific verb and resource (return the Explore page), but it essentially restates the tool name and gives no differentiation from near-identical siblings such as tidal_browse_home, tidal_browse_for_you, tidal_browse_genres, or tidal_browse_mixes. An agent cannot tell from this text why it would pick Explore over Home.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the other browse_* siblings, which is the central selection problem here given roughly ten browse tools in the list. No prerequisites, no conditions, no alternatives named.

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

tidal_browse_for_youBrowse TIDAL For YouB
Read-only

Return the personalized For You page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no behavioral context beyond the obvious read action—no mention of authentication requirements, rate limits, or what 'personalized' entails (e.g., depends on user history). It essentially restates the title.

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?

A single, front-loaded sentence with no wasted words. It is appropriately sized for a simple, parameterless tool, though it could have included a brief usage hint without becoming bloated.

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?

An output schema exists, so return values need not be explained. However, with over 100 sibling tools including multiple browse endpoints, the description is too minimal to route an agent reliably—it lacks any indication of when the For You page is preferable to browse_home, browse_explore, or browse_mixes.

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?

There are zero parameters, so the baseline is 4. The description correctly does not introduce unnecessary parameter details, and the empty schema is self-explanatory.

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 clear verb 'Return' and a specific resource 'the personalized For You page', distinguishing it from generic browse tools by emphasizing personalization. However, it does not explicitly differentiate itself from the many sibling browse tools (browse_home, browse_explore, browse_mixes, etc.) beyond the 'For You' label.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like tidal_browse_home, tidal_browse_explore, or tidal_recommend_tracks. An agent must infer that 'For You' is the right choice for personalized content without any explicit conditions or exclusions.

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

tidal_browse_genresBrowse genre hubsB
Read-only

Return TIDAL's genre-hub page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered by structured fields. The description adds nothing behavioral beyond that – no note on pagination, auth requirements, or what the hub page contains – and does not contradict the annotations.

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?

A single short sentence with no filler, and the key info (genre-hub page) is front-loaded. It is efficient but nearly too terse to convey anything an agent couldn't read off the title.

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?

With annotations covering safety and an output schema covering return values, the description needn't explain results. But for a tool sitting among several similar genre/browse endpoints, the absence of any disambiguation or usage context leaves a real gap.

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 zero parameters, so per the rubric the baseline is 4. There is no parameter syntax for the description to clarify.

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 ('Return') and resource ('TIDAL's genre-hub page'), so the agent knows it fetches a curated genre page. However, it gives no differentiation from near-twin siblings like tidal_browse_local_genres, tidal_list_genres, or tidal_get_genre_items, leaving the agent to guess which genre endpoint it wants.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus the many other browse/list tools (tidal_browse_explore, tidal_browse_moods, tidal_list_genres). Usage must be inferred entirely from the name.

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

tidal_browse_hiresBrowse hi-res musicB
Read-only

Return TIDAL's high-resolution audio page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and an output schema exists, so the safety and return-shape burden is largely carried by structured fields. The description adds nothing behavioral beyond that - no note on pagination, freshness, or what the page contains - leaving it at the minimum-viable level.

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?

A single front-loaded sentence with zero wasted words; it is efficient. It is slightly abrupt in that the one sentence carries no supporting detail, but it is not padded or redundant.

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?

For a zero-param browse call whose annotations and output schema cover safety and return structure, the definition is functional but thin: it does not say what the hi-res page yields or why an agent would pick it over browse_home, browse_explore, or a search. Given the size of the sibling set, a distinguishing clause would materially help.

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 zero parameters, so there is no parameter semantics to document and the baseline is 4. Schema coverage is 100% and there is nothing the description could add here.

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 names a specific verb and resource ('Return TIDAL's high-resolution audio page'), so the agent knows it retrieves a curated hi-res listing. However, it offers no differentiation from the large family of sibling browse tools (tidal_browse_home, tidal_browse_explore, tidal_browse_genres), so the agent must infer the distinction from the name alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no stated conditions, and no mention of alternatives such as tidal_browse_home or tidal_browse_mixes. With over a hundred siblings, the absence of any routing cue is a real gap.

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

tidal_browse_homeBrowse TIDAL HomeB
Read-only

Return the personalized Home page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The word 'personalized' hints that results depend on the authenticated user's context, which is mildly useful, but the description says nothing about auth requirements or the nature/scope of the content returned.

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?

A single short sentence with no wasted words, appropriately sized for a zero-parameter call. It is front-loaded with the operation, though it is arguably under-specified rather than tight.

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?

An output schema exists, so return values need not be explained. However, for a personalized tool sitting among many similar browse siblings and requiring user context, the description leaves the critical routing question ('when Home vs for_you vs explore') unanswered.

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 zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. Schema coverage is 100% and no enum or nested-object complexity exists.

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

Purpose3/5

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

The description names a specific resource (the personalized Home page) with a clear verb, but it largely restates the tool name 'tidal_browse_home' and adds only the word 'personalized'. It gives no signal to distinguish it from close siblings such as tidal_browse_for_you or tidal_browse_explore, which are also curated/personalized browse surfaces.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. With a dense cluster of sibling browse tools (explore, for you, genres, hires, mixes, moods), the description never says why an agent should pick Home over those alternatives.

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

tidal_browse_local_genresBrowse local genresC
Read-only

Return the localized genre page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the vague term "localized" without explaining what localization means, whether authentication is required, or how the returned page behaves.

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 a single front-loaded sentence with no filler. It is concise, though its brevity contributes to the ambiguity rather than resolving it.

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

Completeness2/5

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

Given the many sibling browse tools, the definition is incomplete: it does not explain what a "localized genre page" contains or how it differs from tidal_browse_genres, tidal_list_genres, or tidal_get_genre_items. An output schema exists so return details are not required, but the missing sibling differentiation is a significant gap.

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?

There are no parameters, and the rubric baseline for zero parameters is 4. The schema is empty and no additional parameter meaning is needed.

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

Purpose3/5

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

The description says the tool returns a "localized genre page," giving a verb and resource, but "localized genre page" is vague and is essentially a restatement of the tool name/title. It does not differentiate this tool from siblings like tidal_browse_genres or tidal_list_genres, leaving the agent to guess what makes this page distinct.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives such as tidal_browse_genres, tidal_list_genres, or tidal_get_genre_items. There is no explicit context, prerequisite, or exclusion provided.

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

tidal_browse_mixesBrowse personal mixesB
Read-only

Return the personalized mixes page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and openness are covered. The description adds nothing beyond that: no statement about pagination, freshness, ordering, or what personalization depends on (auth/user context), which is the kind of context that would actually earn credit here.

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?

A single short sentence with no filler and the key noun front-loaded. It is efficient, though its brevity comes at the cost of the differentiation noted elsewhere.

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?

With no parameters, an output schema covering the return shape, and annotations covering safety, the description is minimally sufficient — an agent can invoke it correctly. It still leaves the agent unable to distinguish this browse entry point from the similar personalized-mix siblings, which is the main missing piece.

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 zero parameters, so there is nothing for the description to clarify; baseline 4 applies. The schema is empty and the description correctly implies a no-argument call.

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 ('Return the personalized mixes page'), so an agent knows this yields personalized mixes. However, it gives no differentiation from close siblings like tidal_browse_for_you, tidal_list_favorite_mixes, or tidal_get_mix, and 'page' is vague about whether it's a list, a hub, or a single mix.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the many sibling alternatives (browse_for_you, list_favorite_mixes, get_mix). An agent must guess whether this or a sibling is the right entry point.

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

tidal_browse_moodsBrowse moodsB
Read-only

Return TIDAL's mood page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds no behavioral context at all – no mention of what the mood page contains, pagination, or result shape – leaving it purely a restatement of the resource.

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?

A single front-loaded sentence with no waste, which is appropriate for a zero-parameter browse call. It is efficient, though arguably under-specified rather than maximally concise.

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?

An output schema exists, so return values need not be explained. But for a browse tool sitting among dozens of similar browse siblings, the description gives an agent nothing to route on beyond the resource name, which is a real gap in completeness.

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 zero parameters, so there are no parameter semantics to document; the baseline of 4 applies. Nothing in the description could add detail here.

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 ("Return TIDAL's mood page"), so an agent knows this fetches the mood browsing page. However, it offers no differentiation from adjacent browse siblings such as tidal_browse_genres, tidal_browse_home, or tidal_browse_explore.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool versus the many other browse tools in the sibling list. No prerequisites, no exclusions, no alternatives named.

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

tidal_browse_videosBrowse videosC
Read-only

Return TIDAL's video page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no behavioral detail such as authentication needs, pagination, personalization, or what 'page' means in practice; it merely restates the title.

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 a single front-loaded sentence with no wasted words. It is efficient, though its extreme brevity means it carries very little information beyond the tool name.

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

Completeness2/5

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

Because the tool has no parameters and an output schema exists, the description need not explain return values or arguments. However, in a suite of 100+ siblings with many browse_* and video-specific tools, it provides no help in deciding when this page is the correct one to call, leaving a major selection gap.

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 zero parameters, so the schema is empty and there are no parameter semantics to document. Per the rubric, zero parameters establish a baseline of 4.

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

Purpose3/5

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

States a verb ('Return') and a resource ('TIDAL's video page'), but the purpose is vague: it does not clarify what the video page contains or how it differs from siblings like tidal_get_video, tidal_get_artist_videos, or other tidal_browse_* pages. It is more than a bare tautology but still leaves the agent guessing at the actual scope.

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

Usage Guidelines2/5

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

Provides no when-to-use guidance, no alternatives, and no prerequisites for choosing this browse page over the many other browse and video-related tools. The agent must infer usage entirely from the tool name.

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

tidal_commit_actionCommit an approved TIDAL actionB
DestructiveIdempotent

Commit one exact action draft; a successful replay returns the stored result.

ParametersJSON Schema
NameRequiredDescriptionDefault
approval_tokenYesToken from an exact preview.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
actionYes
statusYes
detailsNo
messageYes
warningNo
affected_idsNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the safety profile is covered. The description adds genuinely useful context beyond them by explaining the replay semantics in plain language ('a successful replay returns the stored result') and stressing that the commit targets one exact draft, which tells the agent the call is safe to retry.

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?

A single, front-loaded sentence with no padding; the commit action leads and the replay behavior follows. It is efficient, though the compressed phrasing ('action draft') is slightly cryptic without prior knowledge of the preview/commit pattern.

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?

An output schema exists, so return values need not be detailed, and the annotations carry the destructive/idempotent profile. Still missing for a generic, destructive commit endpoint is any indication of which action types it accepts or how it relates to tidal_commit_create_playlist, leaving an agent to guess about scope.

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?

Only one parameter, and the schema already documents it at 100% coverage ('Token from an exact preview'). The phrase 'one exact action draft' reinforces that the token selects a specific previously-previewed operation, but adds no format or sourcing detail 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 ('Commit') and resource ('one exact action draft'), making it clear this finalizes a previously previewed action rather than performing a read. It does not, however, differentiate itself from the sibling tidal_commit_create_playlist, nor does it hint at the range of actions commit covers, so an agent still has to infer the split from naming patterns.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance is given: it never says this must follow a tidal_preview_* call, nor when to prefer tidal_commit_create_playlist over this generic commit. The link to previews is only inferable from the schema's 'Token from an exact preview' note, not from the description itself.

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

tidal_commit_create_playlistCommit approved playlist creationC
DestructiveIdempotent

Backward-compatible commit alias restricted to create_playlist drafts.

ParametersJSON Schema
NameRequiredDescriptionDefault
approval_tokenYesToken from playlist preview.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
actionYes
statusYes
detailsNo
messageYes
warningNo
affected_idsNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds the genuinely useful nuance that this is a legacy compatibility path limited to create_playlist drafts, but it never explains what the commit alters or consumes, so the added context is thin.

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?

A single short sentence with no filler, and the constraining clause ('restricted to create_playlist drafts') is placed where it is read. It is efficient, though its brevity shades into under-specification rather than pure conciseness.

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?

An output schema, annotations, and full param coverage mean the description can stay lean, and it mostly does. Still, for a destructive open-world commit that ties into a preview/commit workflow, the absence of any workflow or state-change explanation leaves a meaningful gap.

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?

With a single parameter at 100% schema description coverage ('Token from playlist preview'), the schema carries the semantic load. The description adds nothing about the approval_token's origin or lifecycle, so the baseline 3 applies.

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

Purpose3/5

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

The description names a commit operation scoped to create_playlist drafts, and the title reinforces it, so the basic purpose is recoverable. However it leans on jargon ('backward-compatible commit alias') and never plainly says it finalizes a previously previewed playlist creation, leaving the agent to infer the semantics.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance. The word 'alias' hints that tidal_commit_action is the modern counterpart and schema notes suggest a preview step precedes it, but the description never states that a draft must first come from tidal_preview_create_playlist or when to choose this tool over tidal_commit_action.

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

tidal_get_albumGet a TIDAL albumA
Read-only

Return public metadata for one exact album ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds that only public metadata is returned and that the lookup is exact (no fuzzy matching), which is useful but modest additional context; it does not discuss failures like invalid or unknown IDs.

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?

A single front-loaded sentence with no wasted words. It is efficient, though on the terse side given the large sibling surface it must be distinguished from.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. What is present (public metadata, exact ID requirement) is adequate for a one-parameter read tool, though guidance on where to obtain an album ID is absent.

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 0% for the single album_id parameter, so the description must compensate. "exact album ID" usefully signals that an opaque ID is expected rather than a title string, but it gives no format example, source, or length guidance.

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 (return), resource (public metadata for an album), and scope (one exact album ID). It is clearly distinct from the many get_album_* siblings like tidal_get_album_tracks or tidal_get_album_review, though it never names them explicitly.

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?

"one exact album ID" implicitly tells the agent this is an ID-based lookup rather than a name/browse entry point, so an agent lacking an ID would infer it should use tidal_search. However, there is no explicit when-to-use statement or exclusion against sibling album tools.

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

tidal_get_album_audio_resolutionGet album audio resolutionB
Read-only

Return available bit-depth and sample-rate pairs for an album.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes
individual_tracksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds that the payload is bit-depth/sample-rate pairs, which is modest extra context, but says nothing about the individual_tracks flag's effect or whether all tracks are covered.

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?

A single front-loaded sentence with zero filler, which is appropriately sized. It is arguably too terse given the undocumented parameter, but it is structurally clean.

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?

An output schema exists, so return values need not be described in prose. However, with a fully undocumented optional parameter and no usage context, the definition is only minimally sufficient for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and neither parameter is explained in the description. The required album_id is obvious by name, but the optional 'individual_tracks' boolean is completely opaque — the description gives no hint whether it changes the returned shape to per-track resolutions.

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 ('Return') and resource ('bit-depth and sample-rate pairs for an album'), which is unambiguous. It implicitly distinguishes itself from the near-identical sibling tidal_get_track_audio_resolution via the album scope, but never names that sibling explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as tidal_get_track_audio_resolution, nor any mention of prerequisites (e.g. auth or that album_id must be valid). The agent must infer usage entirely from the name.

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

tidal_get_album_imageGet an album coverB
Read-only

Return an album-cover URL at the requested square size.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe read. The description adds that the returned image is square and sized on request, which is useful context beyond the annotations, but says nothing about auth requirements, caching, or how the URL is consumed.

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?

A single front-loaded sentence that states the resource and the size behavior. Efficient and free of filler, though it is arguably terse to the point of under-specification.

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?

An output schema exists, so return-value detail is unnecessary, and the annotations cover the safety profile. For a simple two-parameter state-read tool the description is nearly sufficient, with the only real omission being nothing critical.

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 0%, so the description must compensate. "Requested square size" maps to the dimensions parameter and clarifies it is a square, but it omits the allowed range (80-3000) and default (1280) that the schema encodes only structurally. Album_id is implied by the tool name and schema requirement.

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: it returns an album-cover URL, which cleanly separates it from metadata siblings like tidal_get_album. It does not explicitly contrast itself with adjacent image tools such as tidal_get_artist_image or tidal_get_video_image, but the resource (album-cover) is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as tidal_get_album (which may already carry cover data) or the other *_get_*_image tools. Usage is only implied by the tool name and description.

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

tidal_get_album_itemsList album itemsB
Read-only

Page through every album item, including videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
album_idYes
sparse_albumNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The description adds the useful facts that results are paginated and that the item list mixes in videos, but says nothing about ordering, page boundaries, or the sparse_album behavior.

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?

A single short sentence with the scope qualifier front-loaded; nothing is padded or restated from the title.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but for a 4-parameter paginated tool with zero schema description coverage, the description omits pagination semantics (defaults, max, how offset interacts with limit) and leaves sparse_album's purpose unclear. It is not adequate for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% for all four parameters, so the description carries the burden and mostly fails: only 'page through' implicitly gestures at limit/offset, while album_id and especially the non-obvious sparse_album flag are left entirely unexplained.

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 clear verb+resource ('page through every album item') and adds a meaningful scope qualifier ('including videos') that distinguishes it from the track-only sibling tidal_get_album_tracks. It stops short of naming that sibling explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus tidal_get_album_tracks, tidal_get_album_video, or tidal_get_album_page. The 'including videos' clause is a scope hint the agent must infer into a selection rule rather than explicit guidance.

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

tidal_get_album_pageBrowse an album pageC
Read-only

Return the structured TIDAL page associated with an album.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say what a 'page' contains, whether it requires an authenticated session, or how it differs behaviorally from the plain album fetch.

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?

A single front-loaded sentence with no filler; nothing redundant or padded. It is efficient, though the brevity comes at the cost of substance rather than being tight-but-complete.

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

Completeness2/5

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

An output schema exists, so return-value documentation is not required, but the definition still leaves the core concept ('page') and the undocumented album_id unresolved. For a read tool with sibling overlap, it does not supply enough to call it correctly and confidently.

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

Parameters2/5

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

Schema description coverage is 0% and the sole parameter album_id carries no description in the schema. The description does not compensate by explaining what form the album_id takes (TIDAL numeric ID vs. string) despite a 160-char maxLength hinting at a non-trivial identifier.

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

Purpose3/5

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

States a verb ("Return") and a resource ("structured TIDAL page associated with an album"), so the basic action is identifiable. However, "page" is undefined jargon and the definition never distinguishes this from close siblings like tidal_get_album, tidal_get_album_items, or tidal_get_album_tracks, leaving an agent unsure what extra payload a 'page' provides.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no alternative named. With three sibling tools operating on the same album_id concept, the agent gets no cue for choosing this tool over tidal_get_album or tidal_get_album_items.

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

tidal_get_album_reviewGet an album reviewB
Read-only

Return TIDAL editorial review text when available.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral signal, 'when available', warning the agent that the review may be absent, but says nothing about whether the result is empty, null, or an error in that case, nor about any auth requirement.

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?

One short sentence, front-loaded with the verb and resource, with zero filler. Nothing to trim and nothing buried.

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?

An output schema exists, so return structure needn't be described, and annotations cover the read-only, open-world nature. The only real gap is not telling the agent how this differs from tidal_get_album, which also takes an album_id, but for a simple single-param getter the definition is nearly complete.

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 0%, so the description technically should compensate, but the single parameter is named album_id and is self-explanatory given the tool name. The description adds no format, source, or ID-provenance detail beyond what the name implies, so it lands at a baseline 3.

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 ('Return TIDAL editorial review text'), which is unambiguous and clearly separable from the many album-metadata siblings like tidal_get_album or tidal_get_album_tracks. It does not explicitly name an alternative sibling or clarify whether review text is also included in tidal_get_album, so a 5 is not warranted.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus tidal_get_album or any other album tool, nor any prerequisites (e.g. does the album need to exist, is auth required). The only contextual hint is 'when available', which is a return-value caveat rather than usage guidance.

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

tidal_get_albums_by_barcodeFind TIDAL albums by barcodeB
Read-only

Resolve an exact UPC/EAN barcode to matching albums.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
barcodeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety and external-query profile is covered. The description adds only a minimal behavioral detail: matches are resolved exactly and may return multiple albums ('matching albums'), with no mention of pagination, auth, or rate limits.

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?

A single sentence that is front-loaded, contains no filler, and communicates the core action and input format efficiently. It is appropriately sized for a simple lookup tool.

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, has an output schema for return values, and annotations cover its safety profile. However, with 0% parameter description coverage, the description should at least clarify pagination or usage boundaries; it currently leaves the agent to infer limit/offset behavior and does not distinguish the tool from other album retrieval methods.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for all three parameters. It meaningfully describes 'barcode' as an exact UPC/EAN, but says nothing about 'limit' or 'offset', leaving pagination semantics entirely undocumented in both schema and description.

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 gives a specific verb ('Resolve') and resource ('matching albums') with the identifying input ('exact UPC/EAN barcode'), making the tool's purpose unambiguous. It does not explicitly mention sibling alternatives like tidal_search or tidal_get_album, so it falls just short of the top score.

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 phrase 'exact UPC/EAN barcode' implies this tool should be used when the agent has a precise barcode rather than free-text search, but it offers no explicit when-to-use guidance, prerequisites, or named alternatives. Usage is inferred rather than stated.

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

tidal_get_album_similarList similar albumsB
Read-only

List albums TIDAL considers similar to a seed album.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
album_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety and openness profile is covered. The description adds the useful nuance that similarity is TIDAL's own determination (not a transparent genre/attribute match), but says nothing about result ordering, pagination behavior with limit/offset, or whether results can be empty.

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?

A single front-loaded sentence with no filler; every word earns its place. It is efficient, though the brevity borders on under-specification rather than optimal conciseness.

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?

An output schema exists, so return values need not be described, and annotations cover safety. Still, with undocumented parameters and no usage routing, the definition is only minimally complete for a seed-plus-paging tool.

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

Parameters2/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 compensate. It only implicitly maps 'seed album' to album_id and gives no meaning for limit or offset, leaving the paging parameters documented nowhere.

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 gives a specific verb (List) and resource (albums similar to a seed album), and the word 'similar' clearly signals algorithmic recommendations rather than album metadata. It does not, however, explicitly distinguish itself from the very close sibling tidal_get_artist_similar, leaving the agent to infer that this one is album-seeded.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus tidal_get_artist_similar, tidal_get_track_radio, or tidal_browse_for_you. No prerequisites (e.g., needing a valid album_id) or exclusion conditions are stated.

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

tidal_get_album_tracksList album tracksC
Read-only

Page through audio tracks on one album.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
album_idYes
sparse_albumNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the notion of paging, which is already implied by the limit/offset schema fields, and says nothing about defaults, ordering, or maximum paging depth.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity reflects under-specification rather than disciplined editing, which is penalized in the other dimensions.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for a paginated read tool the description never clarifies pagination semantics or the sparse_album flag, and it gives no basis for choosing it over tidal_get_album_items.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters, so the description must compensate and does not. album_id, limit and offset are self-explanatory, but sparse_album is entirely opaque and is documented in neither the schema nor the description.

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 action and resource: paging through audio tracks belonging to one album. The word 'audio' implicitly separates it from tidal_get_album_video, but it does not distinguish it from the very similar sibling tidal_get_album_items or explain what 'page through' means beyond the pagination params.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives such as tidal_get_album_items or tidal_get_track. An agent must infer from the name alone that this is the tool for listing an album's track list.

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

tidal_get_album_videoGet an album video imageC
Read-only

Return the album's video-art URL when available.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one genuine behavioral fact — the URL may not exist ('when available') — but says nothing about auth requirements, rate limits, or fallback behavior when the video-art is absent.

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?

A single tight sentence with no filler, and the qualifier 'when available' is placed where it matters. It is efficient, though efficiency here comes partly from omitting necessary detail rather than from disciplined editing.

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

Completeness2/5

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

An output schema exists so return-value explanation is not needed, but the tool has an undocumented 'dimensions' parameter and is surrounded by many similar lookup tools with no differentiation. For a 2-parameter tool with zero schema coverage, the description is too thin.

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

Parameters2/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 full burden and fails: it never mentions the 'dimensions' parameter (default 1280, range 80-3000) that controls the returned image size, nor the constraints on album_id. 'The album's' only loosely implies the album_id input.

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: returns the album's video-art URL. However it does not distinguish itself from near-identical siblings such as tidal_get_album_image or tidal_get_video_image, and the phrase 'album video-art' remains ambiguous versus a regular album image.

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

Usage Guidelines2/5

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

The only usage cue is 'when available', which describes a possible outcome rather than a usage condition. There is no guidance on when to prefer this over tidal_get_album_image, tidal_get_video_image, or tidal_get_video_url.

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

tidal_get_artistGet a TIDAL artistA
Read-only

Return public metadata for one exact artist ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that only 'public' metadata is returned, a useful scope note, but says nothing about auth requirements, rate limits, or behavior on missing IDs. With annotations carrying the burden, a mid score is appropriate.

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?

A single tight sentence with the resource and scope front-loaded and no filler. It is efficient, though its brevity is partly the source of the coverage gaps elsewhere.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. However, for a lookup tool sitting among ~15 other artist-scoped getters, the description does not help the agent route among them or state how to obtain the required ID, leaving meaningful gaps.

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 single artist_id parameter has 0% schema description coverage, so the description must compensate. 'one exact artist ID' usefully clarifies that the input is an exact internal identifier rather than a name or search term, adding meaning beyond the bare string type, though it omits the format/length expectations already present in the schema's constraints.

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 ('Return public metadata') scoped to 'one exact artist ID', which is clearer than a bare name restatement. It does not, however, distinguish itself from the many artist-scoped siblings like tidal_get_artist_bio, tidal_get_artist_page, or tidal_get_artist_top_tracks.

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 phrase 'one exact artist ID' implies the agent must already hold a resolved ID (e.g. obtained from tidal_search) rather than a name, which is a weak usage hint. There is no explicit when-to-use, exclusion, or named alternative for the artist-lookup siblings.

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

tidal_get_artist_albumsList artist albumsB
Read-only

Page through an artist's main album discography.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and network behavior. The description adds the pagination behavior ('Page through'), which is useful context beyond annotations, but omits auth needs, rate limits, or response structure.

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?

A single front-loaded sentence that earns its place with no filler. It conveys the tool action and pagination scope efficiently.

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?

For a simple list tool with an output schema and safety annotations, the description is minimally complete. However, with 0% schema description coverage, it should say more about pagination parameters and differentiate from sibling album-listing tools.

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

Parameters2/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 carry parameter meaning. It only implies pagination through 'Page through,' but does not explain limit, offset, defaults, or the artist_id format, leaving most parameter semantics to inference from names and constraints.

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 clear verb ('Page through') and resource ('an artist's main album discography'), which distinguishes it from sibling tools for EPs/singles and other albums. It does not explicitly name those siblings, but the scope is specific enough to identify the tool's job.

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?

Usage is implied by 'main album discography' and 'Page through,' suggesting this tool is for main albums with pagination. It does not explicitly state when to use it versus alternatives like tidal_get_artist_ep_singles or tidal_get_artist_other_albums, leaving the agent to infer.

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

tidal_get_artist_bioGet an artist biographyB
Read-only

Return TIDAL's artist biography text when available.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network scope are covered. The description adds one genuinely useful trait — the biography may not exist ('when available') — but says nothing about auth requirements, empty-result shape, or whether it hits a remote source.

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?

One short, front-loaded sentence with zero filler. It is efficient, though so terse that it omits information the tool actually needs.

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?

An output schema exists, so return values need not be explained, and annotations cover the read-only profile. What is missing for a simple one-param tool is any guidance on argument sourcing and differentiation from the large set of sibling artist tools.

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

Parameters2/5

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

The single parameter has 0% schema description coverage, so the description carries the burden and contributes nothing: it never explains that artist_id is a TIDAL artist identifier or where one obtains it. Only the parameter's name hints at its meaning.

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: return the artist biography text. That is unambiguous on its own, but it does nothing to distinguish itself from the many other tidal_get_artist_* siblings (get_artist, get_artist_page, get_artist_image), so an agent still has to infer which one answers 'tell me about this artist'.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative. The only usage signal is the implicit 'when available', which tells the agent the result may be absent but not when to prefer this over tidal_get_artist or tidal_get_artist_page.

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

tidal_get_artist_ep_singlesList artist EPs and singlesB
Read-only

Page through an artist's EPs and singles.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds a small amount of value by signaling pagination ('page through'), which aligns with the limit/offset params, but it discloses nothing about ordering, empty results, or result shape beyond what the output schema provides.

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?

A single, front-loaded sentence with no filler. It is efficient, though arguably under-specified for a tool with three params and many near-identical siblings.

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?

An output schema exists, so return values need not be explained, and the read-only annotation covers mutation risk. However, for a paginated list tool surrounded by many similar artist-catalog tools, the absence of any usage distinction or param context leaves the definition at minimum viable.

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

Parameters2/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 carry the burden for limit, offset, and artist_id, and it says nothing about any of them. The parameter names are largely self-explanatory, which prevents a 1, but the description adds no semantics (e.g., valid ID source, default page size) beyond 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?

States a specific verb ('page through') and resource ('an artist's EPs and singles'), which distinguishes it from siblings like tidal_get_artist_albums, tidal_get_artist_other_albums, and tidal_get_artist_top_tracks. It is clear what subset of an artist's catalog this returns, though it doesn't explicitly contrast itself against those siblings.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the many closely-named siblings (get_artist_albums, get_artist_other_albums, get_artist_top_tracks). The agent must infer the distinction purely from the tool name and the phrase 'EPs and singles'.

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

tidal_get_artist_imageGet an artist imageB
Read-only

Return an artist-image URL at the requested square size.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the result is a URL and that the size is square, which is modest extra context, but says nothing about missing-image behavior, URL expiry, or fallback sizes.

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?

A single front-loaded sentence with no filler; the resource and the size semantics are both stated up front.

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 two-parameter read-only lookup with an output schema, the description covers the essential behavior (returns a URL at a given square size). The gaps are minor: no note on what happens when no image exists and no artist_id guidance.

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 0%, so the description must compensate. 'Square size' usefully clarifies that the dimensions parameter applies to both width and height rather than one axis, which is not stated in the schema. However, it says nothing about the artist_id parameter or the 80–3000 bounds and 750 default, so compensation is only partial.

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 ('Return an artist-image URL'), and the resource name distinguishes it from the many sibling image tools (album_image, playlist_image, video_image, mix_image). It doesn't explicitly differentiate itself from those siblings in prose, but the resource is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives (e.g. tidal_get_artist, tidal_get_artist_page, which likely also surface images) or any precondition such as needing a valid artist_id from a search. The agent must infer usage entirely.

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

tidal_get_artist_other_albumsList other artist appearancesC
Read-only

Page through compilations and other album appearances.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds a minor behavioral hint via 'Page through', which aligns with the limit/offset parameters, but it discloses nothing about auth needs, rate limits, or result ordering. With annotations carrying the safety burden, a 3 is appropriate.

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?

A single efficient sentence with no filler, and the resource is front-loaded. It is appropriately short, though arguably too terse given the gaps it leaves unaddressed.

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

Completeness2/5

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

Output schema exists, so return values needn't be explained, but the definition still leaves key gaps: no sibling differentiation, no explanation of the required artist_id, and no usage context. For a tool with 0% schema coverage and many look-alike siblings, this is under-specified.

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

Parameters2/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 compensate for three undocumented parameters (artist_id, limit, offset). It only loosely gestures at pagination with 'Page through' and never mentions which artist is being scoped or the meaning of the id. It adds little meaning beyond the schema field names.

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

Purpose3/5

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

The description gives a verb ('Page through') and a resource ('compilations and other album appearances'), which is somewhat specific. However, it never states that results are scoped to a single artist, and it does nothing to distinguish itself from close siblings like tidal_get_artist_albums or tidal_get_artist_ep_singles. The purpose is implied rather than sharp.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus tidal_get_artist_albums, tidal_get_artist_ep_singles, or the other artist-scoped listers. No prerequisites (e.g., needing an artist_id) or exclusions are stated. The agent must infer usage entirely from the name.

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

tidal_get_artist_pageBrowse an artist pageC
Read-only

Return the structured TIDAL page associated with an artist.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say what a 'page' payload contains, whether it is a composite layout response, or how it relates to the other artist endpoints. For a tool whose main ambiguity is its output shape, this is thin.

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?

One front-loaded sentence with no filler or redundancy. It is appropriately sized, though its brevity edges toward under-specification rather than efficiency.

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

Completeness2/5

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

An output schema exists, so return values need not be spelled out, but the description still leaves the tool's core distinction from tidal_get_artist unresolved and gives no guidance on the required artist_id. For a 1-parameter, open-world read tool in a dense sibling cluster, it is not complete enough to route correctly.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter artist_id has no description in the schema or the description text. The description never mentions the ID, its expected format, or where to obtain it, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

States a verb ('Return') and a resource ('the structured TIDAL page associated with an artist'), but the key term 'structured page' is never defined, leaving it unclear how this differs from tidal_get_artist or tidal_get_album_page. An agent cannot confidently tell what a 'page' object is versus the plain artist resource from this sentence alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusion, and no reference to any of the many sibling tools that also return artist data (tidal_get_artist, tidal_get_artist_bio, tidal_get_artist_albums). The agent is left to infer the selection criteria entirely.

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

tidal_get_artist_radioGet artist radioC
Read-only

Page through radio tracks for an artist.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description is not the primary source of behavioral facts. The phrase 'page through' hints at pagination, but the description adds no operational detail about ordering, rate limits, or what an empty result means, so it earns little beyond the annotations.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity borders on under-specification rather than being a model of dense, informative concision.

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

Completeness2/5

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

The output schema relieves the description of explaining return values, but with three parameters at 0% schema coverage and no differentiation from the radio_mix sibling, the definition is too thin for an agent to call it confidently. More is needed about paging and variant choice.

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

Parameters2/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 compensate for the three undocumented parameters. It mentions 'for an artist' (loosely mapping to artist_id) but says nothing about limit or offset semantics, leaving the paging parameters entirely unexplained.

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 gives a clear verb ('Page through') and resource ('radio tracks for an artist'), which is enough to separate it from most siblings like bio, albums, or top_tracks. However, it fails to distinguish itself from the very close sibling tidal_get_artist_radio_mix, leaving the agent to guess which 'artist radio' variant applies.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as tidal_get_artist_radio_mix or tidal_get_artist_top_tracks, nor any prerequisites or exclusions. 'Page through' vaguely implies list-style retrieval but no selection guidance is given.

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

tidal_get_artist_radio_mixGet an artist radio mixC
Read-only

Return the reusable mix that powers artist radio.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the notion that the mix is 'reusable' and 'powers artist radio' — no auth requirements, rate limits, or behavioral traits beyond the structured fields.

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?

A single efficient sentence with no filler and the key concept front-loaded. It is appropriately sized, though brevity here comes at the cost of the missing differentiation noted above.

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?

An output schema exists, so return values need not be explained, and annotations carry the safety profile. However, the description fails to disambiguate from tidal_get_artist_radio and provides no parameter guidance, leaving meaningful holes for such a crowded sibling set.

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

Parameters2/5

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

The single required parameter artist_id has 0% schema description coverage, and the description says nothing about it — no format, no source (artist ID from search, or a TIDAL-specific ID?), no validation notes. The description does not compensate for the documentation gap.

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

Purpose3/5

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

States a verb ('Return') and a resource ('the reusable mix that powers artist radio'), which is more than a tautology, but the phrase is vague about what the returned object actually is (a mix entity? a radio seed?). Critically, it does not distinguish this tool from the near-identical sibling tidal_get_artist_radio, leaving the agent unable to tell them apart.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of any alternative. With siblings like tidal_get_artist_radio, tidal_get_track_radio_mix, tidal_get_mix and tidal_get_mix_v2 in the same namespace, the omission is a real routing hazard rather than a minor gap.

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

tidal_get_artist_similarList similar artistsB
Read-only

Page through artists related to a seed artist.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-lookup behavior are covered. The description adds the pagination behavior ('page through'), which is useful context, but says nothing about result ordering, similarity basis, or rate limits.

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?

A single short sentence with the resource front-loaded and no wasted words. It is efficient, though the brevity comes partly at the cost of missing detail rather than from tight editing of richer content.

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?

An output schema exists, so return values need not be explained. However, for a read tool with three undocumented parameters and no usage guidance, the description is only minimally adequate to invoke it correctly.

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

Parameters2/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 full burden, yet it only vaguely implies an artist_id ('seed artist') and pagination ('page through'). It does not explain limit defaults/caps, offset semantics, or the artist_id format expected by the API.

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 ('page through') and resource ('artists related to a seed artist'), which is enough to distinguish it from siblings like tidal_get_artist_albums or tidal_get_artist_top_tracks. It is clear but does not explicitly differentiate itself from nearby tools such as tidal_get_artist_radio or tidal_get_artist_radio_mix.

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

Usage Guidelines2/5

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

No indication of when to use this versus the many other artist-related siblings (radio, mixes, top tracks, page). The word 'seed' implies an artist_id is required, but there is no explicit when/when-not guidance.

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

tidal_get_artist_top_tracksList artist top tracksC
Read-only

Page through an artist's most prominent tracks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the pagination behaviour ('page through'), which is genuinely useful context, but says nothing about ranking basis, region/catalog dependence, or empty-result behaviour.

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?

A single short, front-loaded sentence with no wasted wording. It is efficient, though the terseness is close to under-specification rather than deliberate concision.

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?

An output schema exists, so return values need not be described, and the schema covers limit/offset bounds. However, for a required-param, paginated list tool the definition omits what 'top' is ranked by and how the required artist_id is obtained, leaving gaps an agent must guess at.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters. 'Page through' gestures at limit/offset semantics but gives no default/bound context beyond what the schema already declares, and the required artist_id parameter is completely unaddressed (format, source, length constraints).

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

Purpose3/5

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

The description identifies the resource ('an artist's most prominent tracks') and implies a list/read operation, but 'most prominent' is a loose paraphrase of the tool name's 'top tracks' and the phrase 'page through' is vague about what is actually returned. It does not differentiate this from siblings like tidal_get_artist_radio, tidal_get_artist_albums, or tidal_get_artist_videos.

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

Usage Guidelines2/5

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

The only usage hint is the word 'page through', which suggests browsing rather than a one-shot fetch, but there is no statement of when to choose this over tidal_get_artist_radio, tidal_get_artist_similar, or the general search tools. No prerequisites (artist_id must resolve) are mentioned.

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

tidal_get_artist_videosList artist videosC
Read-only

Page through an artist's videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, covering the safety profile. The description adds the pagination behavior ('Page through'), which is useful context beyond annotations, but it does not disclose ordering, rate limits, or error behavior.

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?

A single, front-loaded sentence with no wasted words. It is appropriately concise, though its extreme brevity contributes to the completeness gap.

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

Completeness2/5

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

Output schema exists and annotations cover safety, so return values need not be explained. However, for a three-parameter tool with 0% schema description coverage, the description is too thin: it should at least clarify artist_id format and limit/offset meaning.

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

Parameters2/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 full burden. It mentions 'an artist's videos' (implying artist_id) and paging (implying limit/offset), but never names or explains any parameter, leaving limit and offset semantics undocumented.

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 action ('Page through') and resource ('artist's videos'), distinguishing it from single-video or generic browse tools by name. However, it does not explicitly differentiate from siblings like tidal_browse_videos or tidal_get_video, so it falls short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no alternatives named, and no prerequisites. An agent must infer that this is for a known artist ID and that it differs from tidal_browse_videos from the tool name alone.

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

tidal_get_favorite_countsCount favorite mediaA
Read-only

Return exact saved track, album, artist, playlist, and video counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The word 'exact' hints that these are authoritative totals rather than paginated estimates, which is genuinely useful, but nothing is said about authentication requirements, whose favorites are counted, or failure modes when unauthenticated.

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?

A single tight sentence with the outcome front-loaded and no filler. Every word earns its place and there is nothing to trim.

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?

An output schema exists, so the description does not need to explain return values, and with no parameters and read-only annotations the surface is small. It is nearly complete, with only the implicit assumption that counts are scoped to the authenticated user left unstated.

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 zero parameters, so there is nothing for the description to clarify; the baseline for a no-parameter tool is 4. No misleading hints about inputs are present.

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 gives a specific verb ('Return') and a precise resource ('exact saved track, album, artist, playlist, and video counts'), enumerating all five favorite categories. This separates it from the many list_favorite_* siblings, which return items rather than aggregate numbers. It stops short of explicitly naming that alternative, so it is clear but not fully differentiated.

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?

Usage is implied rather than stated: an agent can infer this is the tool to call when only totals are needed instead of full lists. No when-not conditions, no named alternatives (e.g. 'use tidal_list_favorite_tracks if you need the items themselves'), and no note that it reflects the authenticated user's favorites. Minimum viable guidance.

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

tidal_get_folderGet a playlist folderB
Read-only

Return public metadata for one exact playlist-folder ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one useful behavioral fact – that only 'public' metadata is returned – but says nothing about auth requirements or error behavior for invalid IDs.

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?

One tightly-scoped sentence with zero waste, front-loading the return action and the scope constraint.

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?

An output schema exists, so return values need not be explained, and a single required param keeps the call simple. However, with no usage guidance distinguishing it from the folder-listing siblings, the definition is only minimally complete.

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 coverage is 0%, so the description must carry the single param. It clarifies the ID is a playlist-folder identifier and that it is an exact-match lookup, which adds some meaning, but gives no format, length, or example beyond the schema's min/max length.

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 ('Return') and resource ('playlist-folder metadata') scoped to a single exact ID. The word 'exact' implies single-item retrieval versus the sibling list tool, though it never names tidal_list_playlist_folders or tidal_list_folder_items explicitly.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternatives are given. The agent can infer it is used when a folder ID is already known, but nothing routes it away from tidal_list_playlist_folders or toward tidal_list_folder_items for content.

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

tidal_get_genre_itemsList items in a genreB
Read-only

Page through tracks, albums, artists, playlists, or videos in one genre.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
offsetNo
genre_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The word 'Page through' usefully signals paginated browsing, which aligns with the limit/offset params, but no additional behavioral detail (rate limits, auth needs, pagination bounds) is given. With annotation coverage this warrants a modest 3.

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?

A single sentence, front-loaded with the verb and resource, with zero filler. It is efficient, though arguably too terse for the tool's parameter complexity rather than verbose.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. However, for a paginated, enum-driven browse tool, the missing genre_path format guidance and absent routing versus sibling genre/item tools leave the definition only marginally complete.

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

Parameters2/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 carry the load. It enumerates the `kind` values, which partially covers the enum, but the required `genre_path` format (name, slash-delimited path, or ID?) is unexplained, as are limit/offset semantics. For a 4-param tool with a required, format-ambiguous parameter, this is a significant gap.

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 clear verb-and-resource ('Page through tracks, albums, artists, playlists, or videos in one genre'), and the enumerated kinds match the `kind` enum. It is distinguishable from genre-listing siblings like tidal_list_genres, but it never names a sibling explicitly, so differentiation rests on the agent's own inference.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance. The description does not explain how this differs from tidal_list_genres, tidal_browse_genres, or per-resource item tools like tidal_get_album_items, nor does it state prerequisites (e.g. that a valid genre_path must first come from a genre-listing tool).

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

tidal_get_mixGet a TIDAL mixB
Read-only

Return public metadata for one exact legacy mix ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The description adds only that the payload is 'public metadata' and that the ID is 'legacy', which is modest added context but no auth, rate-limit, or failure behavior.

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?

A single front-loaded sentence with no filler; the key scoping word 'legacy' arrives early. Nothing could be trimmed without losing information.

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?

An output schema exists so return values needn't be described, and the read-only annotations cover safety. What remains missing is the sibling disambiguation (legacy vs v2 mix) and any hint about the ID format, which leaves the agent under-informed for a tool with 0% schema description coverage.

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 0%, so the description must carry the parameter. It tells the agent the value must be an exact legacy mix ID, but gives no format, prefix, or example, and the schema only constrains length to 1-160 characters.

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 (return) and resource (metadata for one mix) and adds the scoping word 'legacy' that hints at the distinction from tidal_get_mix_v2. However, it never names the sibling, so an agent still has to infer which of the near-identical mix tools to pick.

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

Usage Guidelines2/5

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

The phrase 'one exact legacy mix ID' implies you must already hold an ID rather than browse, but there is no explicit when-to-use, no when-not-to-use, and crucially no routing to tidal_get_mix_v2 or tidal_browse_mixes. Given how many mix siblings exist, this omission is significant.

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

tidal_get_mix_imageGet a mix imageB
Read-only

Return a legacy mix image URL at a supported size.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idYes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The description adds the useful nuance that the returned URL is legacy-format and constrained to supported sizes, but says nothing about expiration of the URL or what 'legacy' implies behaviorally.

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?

A single front-loaded sentence that states the return value and its size constraint with no filler. It is efficient, though extremely terse for a tool with an enum parameter.

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?

An output schema exists so return values need not be explained, and annotations cover safety. However, for a tool sitting next to both tidal_get_mix_v2_image and tidal_get_mix, the description omits the routing guidance and any mention of the three supported sizes, leaving meaningful gaps.

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 0% for two parameters, so the description carries the burden. It only alludes to the dimensions parameter via 'at a supported size' without listing the 320/640/1500 values, and gives no detail on mix_id format. Partial compensation, so a middling score.

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 ('Return a ... mix image URL'), and the word 'legacy' implicitly distinguishes it from the newer tidal_get_mix_v2_image sibling. It does not name that sibling explicitly, so the agent must infer the distinction from 'legacy' alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus tidal_get_mix_v2_image or tidal_get_mix, nor any prerequisite such as authentication or mix availability. 'Legacy' hints at older mixes but leaves the selection decision entirely to inference.

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

tidal_get_mix_itemsList mix itemsB
Read-only

Page through the tracks and videos in a TIDAL mix.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
mix_idYes
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds pagination behavior ('Page through') and the returned entity types (tracks and videos), but does not disclose auth needs, rate limits, or ordering, leaving moderate gaps.

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?

A single, front-loaded sentence that states the action and resource without any filler. Every word earns its place.

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?

With an output schema covering return values and annotations covering read-only/open-world behavior, the description only needs to explain purpose and parameters. It covers purpose, but omits parameter semantics and usage context, leaving it minimally adequate.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters (mix_id, limit, offset). The description hints at a mix identifier and pagination but never names or explains any parameter, default, or range, so it does not compensate for the schema's lack of documentation.

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 ('Page through') and resource ('tracks and videos in a TIDAL mix'), which separates it from tidal_get_mix (metadata) and tidal_get_playlist_tracks (playlist scope). It does not explicitly name alternatives, so it is clear but not fully sibling-differentiating.

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 for enumerating a mix's contents, but it gives no explicit when-to-use or when-not-to-use guidance and names no alternative sibling. Adequate implied usage only.

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

tidal_get_mix_v2Get a TIDAL v2 mixB
Read-only

Return public metadata for one exact current-generation mix ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe read operation that may interact with external state. The description adds that it returns 'public metadata', clarifying the read-only, non-privileged nature, but doesn't disclose error behavior, rate limits, or what 'public metadata' includes. With annotations covering the safety profile, this is adequate but not rich.

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, concise sentence that front-loads the core purpose ('Return public metadata for one exact current-generation mix ID'). Every word earns its place, with no redundancy or fluff.

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 has an output schema, so the description needn't explain return values. However, it provides no guidance on usage relative to siblings, no details on parameter semantics, and no behavioral context beyond annotations. For a simple read operation with one required parameter, this is minimally viable but leaves gaps that could lead to misuse or confusion with the similarly named tidal_get_mix.

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 coverage is 0%, meaning the single parameter 'mix_id' has no description in the schema. The description mentions 'one exact current-generation mix ID', which clarifies that the parameter expects a specific ID string for a current-generation mix, adding some semantic value. However, it doesn't specify format, source, or constraints beyond the schema's basic type and length limits. A baseline of 3 is appropriate given the minimal but nonzero compensation.

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 verb ('Return') and resource ('public metadata for one exact current-generation mix ID'), making the purpose clear. It distinguishes itself from siblings like tidal_get_mix and tidal_get_mix_image by emphasizing 'public metadata' and 'current-generation', though it could explicitly note its relationship to the v1 mix tool. The use of 'v2' in the name and 'current-generation' in the description provides some differentiation.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as tidal_get_mix, tidal_get_mix_v2_image, or tidal_list_favorite_mixes. The description implies it's for fetching mix metadata by ID, but doesn't state prerequisites or when another tool would be more appropriate. This leaves the agent to infer usage from the tool name and sibling names alone.

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

tidal_get_mix_v2_imageGet a v2 mix imageC
Read-only

Return a current-generation mix image URL at a supported size.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idYes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the return value is a URL at a supported size, but it does not disclose URL validity, authentication requirements, or caching behavior.

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 a single, front-loaded sentence with no wasted words. It is efficient, though its brevity contributes to the missing parameter and routing context.

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

Completeness2/5

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

Although an output schema exists and annotations cover read-only/open-world behavior, the definition omits essential invocation context. With two undocumented parameters at 0% schema coverage, the required mix_id and the dimensions default/enum values are not explained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It only vaguely references a 'supported size', which maps to dimensions, and says nothing about the required mix_id parameter or the default size of 640.

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 names a specific verb (Return), resource (mix image URL), and qualifier (current-generation, supported size). It implies a distinction from the legacy mix image tool through 'current-generation', but does not explicitly name the sibling it differs from.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus tidal_get_mix_image, tidal_get_mix_v2, or any other image endpoint. The agent must infer usage from the tool name alone.

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

tidal_get_playlistGet a TIDAL playlistB
Read-only

Return public metadata for one exact playlist ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the useful qualifier 'public metadata' and 'exact playlist ID', hinting at access scope and ID format, but discloses nothing about pagination, auth requirements, or behavior on private/invalid IDs.

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?

A single front-loaded sentence with no filler, so there is nothing to trim. It is arguably too terse for a tool embedded in a large sibling cluster, but it is efficient and non-redundant.

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?

An output schema exists, so return values need not be re-explained, and annotations carry the safety profile. Still, with ~90 sibling tools and heavy overlap among playlist endpoints, the description does too little to disambiguate the exact scenario this tool serves.

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 0%, so the single playlist_id parameter is undocumented in the schema, and the description only partially compensates by saying it must be an 'exact' ID (not a name or URL). No format, length, or ID-shape detail is offered, leaving real ambiguity.

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 ('Return public metadata for one exact playlist ID'), which is clear about what it fetches. However, it does not distinguish itself from the many sibling playlist-metadata tools (tidal_get_playlist_items, tidal_get_playlist_image, tidal_get_playlist_track_count), so the agent must infer scope from the name alone.

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

Usage Guidelines2/5

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

The phrase 'one exact playlist ID' implies the caller must already have a resolved ID, but the description never states when to use this vs. alternatives such as tidal_search to resolve an ID or tidal_get_playlist_tracks for contents. No explicit when/when-not guidance is given.

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

tidal_get_playlist_imageGet a playlist imageC
Read-only

Return a square playlist-image URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
dimensionsNo
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the output is a square image URL, which is useful context beyond annotations, but it does not disclose auth requirements, rate limits, or how the dimensions parameter affects the result.

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?

A single front-loaded sentence with zero waste, perfectly sized for a simple getter tool.

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?

Output schema exists, so return values need not be described, and annotations cover safety. However, the description omits any mention of the dimensions parameter (its default, range, or effect on the returned image), which is a notable gap for a tool that accepts that parameter.

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

Parameters1/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 compensate for parameter documentation. It mentions neither the required playlist_id nor the optional dimensions parameter, leaving both completely unexplained outside the schema's type constraints.

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 (Return) and resource (playlist-image URL), and the word 'square' implicitly distinguishes it from the sibling tidal_get_playlist_wide_image. However, it does not explicitly name or contrast with that alternative.

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

Usage Guidelines2/5

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

Provides no explicit guidance on when to use this tool versus alternatives such as tidal_get_playlist_wide_image or tidal_get_playlist. Usage is only implied by the purpose statement.

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

tidal_get_playlist_item_countCount playlist itemsB
Read-only

Return the exact number of tracks and videos in a playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds 'exact number' (implying no pagination truncation) and that both tracks and videos are counted, which is useful but thin context beyond the annotations.

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?

One front-loaded sentence with no waste. The core action and scope are stated immediately.

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?

An output schema exists so return values need no explanation, and the tool is a simple read. However, for a tool with a near-identical count sibling, the description leaves the disambiguation and the parameter undocumented, so it is only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0% and the description states nothing about playlist_id — its format, source, or constraints. A single obvious parameter keeps this from being a 1, but the description does not compensate for the undocumented 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?

States a specific verb (return) and resource (number of tracks and videos in a playlist). The phrase 'tracks and videos' implicitly distinguishes it from the sibling tidal_get_playlist_track_count, though it never names that sibling to make the distinction explicit.

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

Usage Guidelines2/5

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

No guidance on when to use this versus tidal_get_playlist_track_count or tidal_get_playlist_items. The agent must infer the distinction from the wording alone, and there is no mention of prerequisites or alternatives.

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

tidal_get_playlist_itemsList playlist itemsB
Read-only

Page through every playlist item, including videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
playlist_idYes
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the useful fact that results include video items and implies pagination via 'Page through', but says nothing about ordering behavior, rate limits, or that the offset window is bounded at 100000.

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?

A single front-loaded sentence with no filler, and the differentiating detail ('including videos') comes last but is present. It is efficient, though borderline under-specified rather than merely concise.

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

Completeness2/5

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

An output schema exists so return values needn't be described, but a paginated, orderable list tool with 5 undocumented parameters and a near-identical sibling (tidal_get_playlist_tracks) needs more than one sentence to be called complete.

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

Parameters2/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 full burden for 5 parameters (playlist_id, limit, offset, order, order_direction). It adds nothing about any of them beyond the content-type hint, leaving ordering, direction, and pagination semantics entirely undocumented.

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 ('Page through'), resource ('playlist item') and scope ('including videos'), which implicitly separates it from the sibling tidal_get_playlist_tracks. However, it never names that sibling or spells out the item-vs-track distinction, so an agent must infer the routing.

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?

'Page through' implies a listing/pagination use case, and 'including videos' hints that this is the broader alternative to tidal_get_playlist_tracks. Still, there is no explicit when-to-use, when-not-to-use, or named alternative, leaving the agent to infer the choice.

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

tidal_get_playlist_track_countCount playlist tracksB
Read-only

Return the exact number of audio tracks in a playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds a useful nuance by promising the 'exact' count of 'audio tracks' (suggesting videos are excluded), but gives no note on auth or empty/private playlist behavior.

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?

A single front-loaded sentence with no filler; the operation and its result are stated immediately.

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?

An output schema exists, so return values need no explanation, and the tool is simple. However, with no annotation-independent guidance and an undocumented required parameter, the definition is only minimally complete for correct invocation.

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

Parameters2/5

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

There is a single required playlist_id with 0% schema description coverage, so the description would need to carry the burden of explaining the identifier. It says nothing about playlist_id format or where to obtain it, leaving the parameter effectively undocumented.

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 (Return) and resource (number of audio tracks in a playlist), which cleanly signals a count-retrieval operation. It stops short of explicitly distinguishing itself from near-neighbors like tidal_get_playlist_item_count or tidal_get_playlist_tracks, though the word 'audio' implies a scope difference.

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

Usage Guidelines2/5

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

No guidance on when to choose this over tidal_get_playlist_item_count or tidal_get_playlist_tracks, and no prerequisites. The agent is left to infer selection from the name alone.

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

tidal_get_playlist_tracksRead tracks from a TIDAL playlistC
Read-only

Read one playlist page by exact TIDAL playlist ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
limitYes
offsetYes
has_moreYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network scope are covered. The description adds that this returns a single page and that the ID must be exact, which is modest but real context beyond the annotations; it says nothing about rate limits, pagination continuation, or empty results.

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?

A single, front-loaded sentence with no filler, which is appropriate for a simple read tool. It is arguably under-specified rather than over-long, so it loses a point only for the thinness of what it chose to include.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and annotations cover the safety profile. But for a paginated read tool with 0% schema coverage and three parameters, the description omits pagination mechanics, the meaning of limit/offset, and how it differs from its many playlist siblings.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the description must compensate and largely does not. Only playlist_id gets any semantic treatment ('exact TIDAL playlist ID'); limit and offset are entirely undocumented in both schema and description, and the description does not mention that results are paged or how limit/offset interact.

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 ('Read') and resource ('one playlist page'), scoped by 'exact TIDAL playlist ID', which is concrete. It does not, however, distinguish itself from close siblings such as tidal_get_playlist_items or tidal_get_playlist_track_count, so an agent cannot tell from the text alone which playlist-reader to pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternative. The description never explains the relationship to tidal_get_playlist_items, tidal_get_playlist_track_count, or the preview/commit mutation tools, leaving the agent to infer selection from the tool name.

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

tidal_get_playlist_wide_imageGet a wide playlist imageC
Read-only

Return a wide playlist-image URL at requested dimensions.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The description adds nothing beyond that – no mention of whether the URL is signed/expiring, whether the playlist must be public, or any auth/caching behavior, which is notable for a URL-fetching tool that makes a network call.

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?

A single tight sentence with the resource and the dimension scoping front-loaded; nothing is wasted. It is arguably under-specified rather than over-long, but the structure itself is efficient.

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?

An output schema exists, so return-value detail is not required from the description, and the core purpose is stated. However, with 0% parameter coverage and a near-identical sibling (tidal_get_playlist_image), the definition leaves the agent without enough to confidently pick or parameterize this tool.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters. The phrase 'requested dimensions' vaguely gestures at width/height but supplies no defaults, bounds, or units beyond what the schema already encodes, and playlist_id is never mentioned. The description does not compensate for the coverage gap.

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 verb and resource ('Return a wide playlist-image URL') and the scoping parameter ('at requested dimensions'), which distinguishes it from the square-image sibling tidal_get_playlist_image by the word 'wide'. It is clear, though the differentiation from tidal_get_playlist_image is only implied by one adjective rather than made explicit.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over tidal_get_playlist_image, tidal_get_playlist, or the many other image tools in the sibling list. An agent must infer that 'wide' means a non-square aspect ratio, and no prerequisites or exclusions are stated.

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

tidal_get_trackGet a TIDAL trackB
Read-only

Return full public metadata for one exact track ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes
with_albumNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one useful behavioral fact — that only 'public' metadata is returned, so private/user-scoped data is out of scope — but says nothing about auth requirements, rate limits, or how with_album alters the response.

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?

A single front-loaded sentence with no filler; the core action and scope lead. It is efficient, though its brevity leaves the with_album parameter and lookup prerequisites unaddressed.

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?

An output schema exists, so return values needn't be described, and annotations cover the read-only nature. The remaining gap is the undocumented with_album parameter and the absence of any note on resolving a track ID before calling — an agent could invoke it but not with full understanding.

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

Parameters2/5

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

Schema description coverage is 0% across 2 parameters, so the description carries the full burden. It clarifies that track_id expects an exact identifier, but the with_album boolean (default true) is never explained — an agent cannot tell what it includes or why it defaults to true.

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 ('Return') and resource ('full public metadata for one exact track ID'), which distinguishes it from the many specialized track getters in the sibling list (tidal_get_track_lyrics, tidal_get_track_radio, tidal_get_track_playback_info, tidal_get_track_url). It does not explicitly name a sibling to route against, so it stops short of a 5.

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

Usage Guidelines2/5

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

The phrase 'one exact track ID' implies the caller must already hold an ID (rather than resolving one via tidal_search), but there is no explicit when-to-use statement, no exclusions, and no named alternative among the ~90 siblings. Guidance is inferable at best.

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

tidal_get_track_audio_resolutionGet track audio resolutionB
Read-only

Return the selected playback stream's bit depth and sample rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one useful nuance beyond the annotations: the result reflects the 'selected playback stream,' implying a dependency on current playback/quality selection rather than a static property, but it does not say what happens if no stream is selected.

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?

A single front-loaded sentence that names the return values directly, with no filler.

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?

An output schema exists, so return values need no explanation, and the operation is a simple read. However, the undocumented track_id and the unstated behavior when no playback stream is selected leave the definition only minimally complete.

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

Parameters2/5

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

There is one parameter (track_id) with 0% schema description coverage, and the description never mentions it or its expected format (ID vs ISRC vs URL). With low coverage the description is expected to compensate, and it does not.

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 (Return) and resource (bit depth and sample rate of the track's playback stream), which is more precise than the tautological title. It does not explicitly distinguish itself from the close sibling tidal_get_track_playback_info or tidal_get_album_audio_resolution, so it falls short of a 5.

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

Usage Guidelines2/5

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

No indication of when to call this versus tidal_get_track_playback_info or the album-level equivalent, no prerequisites, and no exclusions. The agent must infer usage purely from the name.

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

tidal_get_track_lyricsGet TIDAL lyricsB
Read-only

Return available lyrics and synchronized subtitles for one track.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds two useful behavioral facts beyond that: lyrics are 'available' (i.e., may be absent) and synchronized subtitles are returned alongside plain lyrics. It does not describe the response shape, which is acceptable given an output schema exists.

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?

One tight sentence with no filler, front-loaded with the verb and the key qualifier 'available'. It is appropriately sized for a single-purpose lookup tool, though it is arguably too terse to be maximally useful.

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?

With an output schema present, the description need not explain return values, and annotations cover safety. However, for a lookup keyed on an undocumented identifier, it should at least note that lyrics may be unavailable or what ID format is expected, leaving a modest gap.

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 0% for the single track_id parameter, so the description must carry the burden; 'one track' confirms the parameter identifies a track but adds no format detail (e.g., TIDAL track ID vs ISRC). This is the bare minimum, marginally above a pure restatement.

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 verb and resource ('Return available lyrics and synchronized subtitles') for a single track, which is clear and distinct from siblings like tidal_get_track or tidal_get_track_playback_info. It does not explicitly contrast itself with any sibling, but the lyrics/subtitles scope makes the purpose unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any prerequisite about the required track_id. Usage is only implied by the name and the phrase 'for one track', leaving the agent to infer that a track must already be identified.

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

tidal_get_track_playback_infoGet track playback metadataB
Read-only

Return codec, quality, bit depth, and sample-rate metadata; no media is downloaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description usefully adds that no media is downloaded, clarifying this is a metadata-only operation, but says nothing about pagination, errors, or auth requirements beyond the annotations.

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?

A single short sentence that front-loads the returned fields and closes with the key exclusion. There is no filler and nothing to trim.

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 one-parameter read tool with an output schema documenting the return values and annotations covering safety, the description is nearly complete. Its only real gap is failing to position the tool against the near-identical tidal_get_track_audio_resolution sibling.

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 0%, so the description carries no information about track_id. The parameter name is largely self-evident for this tool, which keeps it at the baseline, but the description makes no attempt to document format, length limits, or accepted ID forms.

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 a clear set of returned fields (codec, quality, bit depth, sample rate), so an agent knows exactly what the tool produces. However it never distinguishes itself from the closely named sibling tidal_get_track_audio_resolution, leaving ambiguity about which one to pick.

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

Usage Guidelines2/5

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

The description says nothing about when to use this tool versus alternatives such as tidal_get_track_audio_resolution or tidal_get_track. The 'no media is downloaded' clause is a scoping clarification, not usage guidance, so any routing decision is left to inference.

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

tidal_get_track_radioGet TIDAL track radioC
Read-only

List radio recommendations for one seed track.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no pagination behavior, no statement about how many results are returned relative to limit/offset, and no note on determinism or freshness of recommendations.

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?

A single tight sentence with no filler and the key constraint ('one seed track') front-loaded. It is efficient, though its brevity borders on under-specification rather than pure conciseness.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with 0% schema coverage and no parameter explanation, an agent lacks enough information to size pagination calls or distinguish this tool from its radio_mix sibling. The definition is insufficient for a three-parameter recommendation tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema documents none of the three parameters. The description only implies that track_id is the seed ('one seed track') and says nothing about limit or offset, leaving two pagination parameters entirely unexplained in both structured and natural language sources.

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 ('List radio recommendations') and constrains it to a single seed track, so the agent knows exactly what comes back. However, it does nothing to distinguish this from the near-identically named sibling tidal_get_track_radio_mix, leaving the closest alternative ambiguous.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and no routing to alternatives such as tidal_get_track_radio_mix or tidal_recommend_tracks. The agent must infer usage purely from the name.

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

tidal_get_track_radio_mixGet a track radio mixC
Read-only

Return the reusable mix that powers radio for one track.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered, but the description adds essentially nothing beyond that: no note on whether the mix is stable/cacheable, what the returned mix contains, or any failure mode for an invalid track_id. 'Reusable' hints at stability but is not explained.

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?

A single short sentence, front-loaded with the verb and resource, with no wasted words. It is concise, though part of that brevity comes from omitting useful information rather than from good editing.

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?

An output schema exists, so return-shape explanation is not required, and annotations cover the safety profile. Still, for a single-parameter read tool the description leaves the parameter undocumented and the sibling distinction unresolved, which is the minimum viable rather than complete.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter track_id is documented nowhere. The description never mentions track_id, its format, or where to obtain it, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

States a verb ('Return') and a resource ('the reusable mix that powers radio for one track'), but 'reusable mix' is ambiguous jargon and the definition never distinguishes this from the near-identical sibling tidal_get_track_radio, nor from tidal_get_mix/tidal_get_mix_v2. An agent can guess the intent but cannot confidently tell it apart from its neighbours.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all. With siblings like tidal_get_track_radio, tidal_get_artist_radio_mix, tidal_get_mix and tidal_get_mix_v2 in the same namespace, the absence of any selection criteria is a real gap.

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

tidal_get_tracks_by_isrcFind TIDAL tracks by ISRCC
Read-only

Resolve an exact ISRC to matching tracks.

ParametersJSON Schema
NameRequiredDescriptionDefault
isrcYes
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The word 'exact' hints that partial or fuzzy ISRCs will not match, but nothing is said about pagination behavior, result-set size, or what happens when the ISRC resolves to zero or multiple tracks. Minimal added context beyond annotations.

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?

A single front-loaded sentence with no filler. It is appropriately sized for the surface-level purpose, though its brevity comes at the cost of the missing parameter and usage detail noted elsewhere.

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?

An output schema exists, so return values need not be described, and the operation is conceptually simple. However, with 0% schema coverage on limit/offset and no differentiation from tidal_search, the definition leaves real gaps for an agent deciding whether and how to call it.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters, so the description carries the full burden and does not meet it. It says nothing about the limit/offset pagination parameters (defaults 50/0, max 100/100000) or the ISRC string format, leaving the agent to infer their meaning from property names alone.

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 (resolve) and resource (ISRC to matching tracks), so the agent knows this is an exact-identifier lookup rather than a fuzzy text search. It implicitly distinguishes itself from tidal_search, but never names that sibling or any other alternative to sharpen the distinction.

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

Usage Guidelines2/5

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

No when-to-use or when-not guidance is given. The description does not state that this requires a known ISRC (versus searching by title/artist via tidal_search), nor does it mention any prerequisite or alternative path.

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

tidal_get_track_urlGet a temporary track URLB
Read-only

Return the temporary playback URL supplied by TIDAL for the authenticated account.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description meaningfully adds that the URL is 'temporary' and tied to 'the authenticated account', but omits expiry duration, rate limits, or streaming constraints that would matter for playback.

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?

A single front-loaded sentence with zero filler; every clause (temporary, playback URL, TIDAL, authenticated account) carries information.

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?

An output schema exists, so return-value explanation is not required, and the tool is genuinely simple. Still, the undocumented track_id and lack of when-to-use context leave gaps for a tool whose output feeds a player.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions track_id or its accepted format (e.g., TIDAL numeric ID vs. string). With a single undocumented required parameter, the description fails to compensate for the schema gap.

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 ('Return') and resource ('temporary playback URL'), which is clearly distinct from metadata siblings like tidal_get_track or tidal_get_track_playback_info. It does not, however, explicitly name or differentiate itself from those siblings, so it falls short of a 5.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus the many related siblings (tidal_get_track, tidal_get_track_playback_info, tidal_get_video_url). The only implied usage cue is 'for the authenticated account', which hints at an auth prerequisite but gives no alternatives or exclusions.

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

tidal_get_userGet a TIDAL userA
Read-only

Return the current user or another public user by numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds two useful behavioral facts: the default (no ID = current user) and a constraint (only public users are retrievable), but says nothing about failure modes for invalid/private IDs.

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?

A single efficient sentence that front-loads both the resource and the two access modes. Nothing is redundant, though it could squeeze in slightly more guidance without bloat.

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?

An output schema exists, so return values need not be described. Given the tool is a simple single-param getter, the description covers the essential default and constraint, leaving only minor edge cases (invalid/private ID behavior) unaddressed.

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 0% and the schema itself only declares user_id as an optional integer/null. The description compensates by explaining the numeric ID type and the default behavior when it is omitted, but adds no format or range detail beyond that.

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 uses a clear verb+resource ("Return... user") and specifies the scope: the current user or another public user identified by numeric ID. It clearly distinguishes user lookup from the many other tidal_get_* siblings, though it doesn't explicitly contrast with the close sibling tidal_get_user_image.

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?

Usage is implied rather than stated: omitting the ID returns the current user, while supplying an ID fetches a public user. There is no explicit when-to-use/when-not guidance or mention of alternatives, but for a simple getter the intent is reasonably inferable.

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

tidal_get_user_imageGet the user imageA
Read-only

Return the authenticated user's profile-image URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is known. The description adds 'authenticated user's' and 'URL' as context, but says nothing about how the optional dimensions parameter affects behavior, caching, or authentication requirements beyond the implicit authenticated scope.

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?

A single front-loaded sentence with no wasted words. It states the action and return value directly.

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 read-only image getter with an output schema and safety annotations, the description is nearly complete. The only gap is the absence of any mention of the optional dimensions parameter, but its name and schema constraints make its purpose reasonably inferable.

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

Parameters2/5

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

Schema description coverage is 0% for the single 'dimensions' parameter, and the description does not mention it at all. With one undocumented parameter, the description fails to compensate for the schema's lack of parameter semantics.

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?

States a specific verb, resource, and scope: 'Return the authenticated user's profile-image URL.' This clearly distinguishes it from sibling image tools such as tidal_get_album_image, tidal_get_artist_image, and tidal_get_playlist_image, which target different resources.

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 resource is specific enough that usage is implied: call it when you need the authenticated user's profile image. However, there is no explicit when-to-use guidance, no exclusions, and no routing among the many sibling image-fetch tools, so the agent must infer the context.

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

tidal_get_videoGet a TIDAL videoB
Read-only

Return public metadata for one exact video ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only remote-fetch profile is covered. The description contributes one extra behavioral fact — only 'public' metadata is returned, and the ID must be an exact match rather than a fuzzy lookup. It says nothing about failure behavior for unknown IDs, which would have earned more.

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?

A single front-loaded sentence with no filler, hedging, or restatement of the title. Every word carries content and nothing needs to be trimmed.

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?

An output schema exists, so return structure need not be described, and annotations cover the safety profile. What remains missing is the ID format/acquisition path and any error behavior for invalid IDs, which leaves a minor but real gap for a tool whose only input is an opaque identifier.

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 0% for the single video_id parameter, so the schema supplies no semantics. The description partially compensates by specifying 'one exact video ID' (singular, exact-match, not a search term), but it never states the ID format or where such an ID comes from. Baseline 3 given one undocumented parameter with modest compensating prose.

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 ('Return public metadata') scoped to 'one exact video ID', which is enough to separate it from tidal_get_video_url and tidal_get_video_image by output type. It does not, however, name those siblings or explicitly contrast itself with them, so an agent must infer the routing.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives are mentioned despite a crowded sibling set (tidal_browse_videos, tidal_get_video_url, tidal_get_video_image, tidal_list_favorite_videos). The agent must infer that this is the choice when it already holds a video ID.

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

tidal_get_video_imageGet a TIDAL video imageC
Read-only

Return an image URL at the requested dimensions.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is already covered by structured data. The description adds essentially nothing beyond what the schema parameters imply ('dimensions'); it discloses no URL expiry, CDN behavior, fallback sizing, or auth requirement for a tool that clearly makes an open-world request.

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

Conciseness3/5

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

A single short sentence with no padding, but the brevity comes at the cost of under-specification rather than tightness. It is front-loaded and readable, yet leaves the core identifier undocumented.

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?

An output schema exists, so return-value explanation is not required, which keeps the tool's overall burden low. However, with 0% parameter coverage and no usage or behavioral context, the definition is only barely adequate for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 3 parameters, so the description carries the full burden and largely fails it. It alludes to dimensions (width/height) but gives no defaults, bounds, units, or aspect-ratio behavior, and never mentions video_id at all, despite it being the sole required parameter.

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 clear verb ('Return') and resource ('an image URL') with the qualifier 'at the requested dimensions', so an agent knows this is a dimension-configurable image fetch. It does not differentiate itself from the many sibling image getters (tidal_get_album_image, tidal_get_artist_image, tidal_get_playlist_image) or from tidal_get_video_url, but the action itself is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites (e.g., needing a valid video_id or the auth requirement implied by tidal_auth_status), and no routing to alternative tools such as tidal_get_video_url or tidal_get_video. The agent must infer selection purely from the tool name.

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

tidal_get_video_urlGet a temporary video URLB
Read-only

Return the temporary playback URL supplied by TIDAL for a video.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network scope are covered. The description adds only the word 'temporary', signalling that the link expires, but gives no lifetime, refresh behavior, or auth/region constraints, which for a URL-delivery tool would be the genuinely useful context.

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?

One clean sentence with the resource front-loaded and no filler. 'Supplied by TIDAL' is mildly redundant given the tidal_ namespace, but nothing meaningful 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?

An output schema exists so return values need not be described, and read-only behavior is annotated, leaving little that must be stated. The main omission is the expiry/refresh semantics of a 'temporary' URL, which an agent actually needs to use the result correctly.

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

Parameters2/5

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

Schema description coverage is 0% for the single video_id parameter, and the description does nothing to compensate: it never explains the expected ID format (the schema's 1-160 char constraint is the only hint) or where such an ID comes from. The parameter name is fairly self-explanatory, which keeps this from being a 1.

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 (Return) and resource (the temporary playback URL supplied by TIDAL) scoped to a video, so an agent can distinguish it from tidal_get_video or tidal_get_video_image. It stops short of naming the closest sibling, tidal_get_track_url, or explaining how it differs from the video metadata endpoint.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to call this versus tidal_get_video or tidal_get_track_url, and no stated prerequisites (e.g., that a valid/available video and authentication are required). Usage is only implied by the word 'playback URL'.

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

tidal_list_favorite_albumsList favorite albumsB
Read-only

Page through albums saved in My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the collection scope ('My Collection') and a pagination hint, which is some value but nothing about rate limits, ordering defaults, or result size.

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?

A single front-loaded sentence with no wasted words. It is efficient, though its brevity is arguably under-specification rather than true conciseness.

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?

An output schema exists, so return values need not be described. However, for a four-parameter paginated listing tool with 0% schema description coverage and no annotations about ordering, the description is only minimally sufficient.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters, yet the description says nothing about limit, offset, order, or order_direction. 'Page through' gestures at limit/offset but adds no semantics the agent can use, leaving the enum values and defaulting behavior unexplained.

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 (page through) and resource (albums saved in My Collection), which distinguishes it from tidal_list_favorite_tracks, tidal_list_favorite_artists and the other favorite-list siblings. It is clear but does not explicitly contrast itself with those siblings, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus tidal_list_favorite_playlists, tidal_list_playlists, or tidal_get_album_tracks. The word 'Page through' only weakly implies the tool is for iterating a large collection rather than fetching a single album.

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

tidal_list_favorite_artistsList favorite artistsB
Read-only

Page through artists saved in My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only that results are paginated and scoped to My Collection; it says nothing about auth requirements, ordering defaults, or rate limits.

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?

A single short sentence with the resource and scope front-loaded and no wasted words.

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?

An output schema exists so return values need not be explained, and the read-only nature is covered by annotations. However, with four entirely undocumented parameters and no ordering semantics, the definition is only minimally sufficient for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% for all four parameters (limit, order, order_direction, offset). The phrase "Page through" weakly implies limit/offset but gives no defaults or ranges, and the description never mentions the ordering parameters at all, so it fails to compensate for the schema gap.

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 ("Page through") and resource ("artists saved in My Collection"), making clear it lists the user's favorited artists rather than tracks, albums, or playlists. It does not explicitly contrast with the many sibling list_favorite_* tools, but the resource noun is unambiguous.

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

Usage Guidelines2/5

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

"Page through" hints at pagination as the intended use, but there is no guidance on when to choose this over tidal_list_favorite_tracks/albums/mixes or tidal_search, and no prerequisites or exclusions are stated.

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

tidal_list_favorite_mixesList favorite mixesB
Read-only

Page through mixes saved in My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds one behavioral trait beyond them: 'page through' signals paginated, multi-call retrieval. It does not describe default page size, iteration termination, or ordering behavior, which are relevant for a list tool with limit/offset.

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?

One short, front-loaded sentence with zero filler — the resource and scope lead. It is efficient, though the extreme brevity leaves meaningful gaps that the other dimensions penalize.

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

Completeness2/5

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

With 4 undocumented parameters and no output explanation required (an output schema exists), the description should at minimum cover pagination/ordering semantics. Instead it supplies only a paging hint, leaving an agent unable to predict result ordering or how to choose limit/offset sensibly.

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

Parameters2/5

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

Schema description coverage is 0% for all four parameters, so the description carries the burden. 'Page through' loosely gestures at limit/offset but says nothing about the order enum values (DATE, MIX_TYPE, NAME), order_direction, or the 1-100 limit bounds. Most parameter meaning is left undisclosed.

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+resource ('Page through mixes') and scopes it to 'saved in My Collection', which distinguishes it from tidal_browse_mixes and from sibling favorites lists for tracks/albums/artists/playlists/videos. It stops short of naming those siblings explicitly, so an agent must infer the distinction from the scope phrase.

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?

'saved in My Collection' implies the usage context (only user-favorited mixes, not catalog browsing), but there is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The agent can infer the boundary but must do the work itself.

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

tidal_list_favorite_playlistsList favorite playlistsA
Read-only

Page through playlists saved in My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the pagination hint ("Page through") and says nothing about auth requirements, result ordering, or whether folders are included. Given annotation coverage, a 3 is appropriate.

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?

A single ten-word sentence, front-loaded with the verb and scope. There is no filler or 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?

An output schema exists, so return values need not be explained. However, for a 4-parameter tool with 0% schema description coverage and many near-identical favorite/list siblings, the description provides too little to guarantee correct invocation.

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 coverage is 0%, so the description carries the full burden — and it contributes almost nothing beyond the verb "Page through," which loosely implies limit/offset. The DATE/NAME order enum, ASC/DESC direction, defaults, and the 1-100 limit range are documented only structurally in the schema, not explained anywhere in prose.

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 (Page through) and resource (playlists) with scope qualifier (saved in My Collection), which distinguishes it from siblings like tidal_list_playlists and tidal_list_public_playlists. It does not, however, name those siblings explicitly to help an agent route between them.

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?

"saved in My Collection" implies the use case is favorited playlists vs. owned or public ones, giving implied context. There is no explicit when-to-use statement and no mention of the closely related tidal_list_playlists, tidal_list_playlists_and_favorites, or tidal_list_playlist_folders alternatives.

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

tidal_list_favorite_tracksList favorite TIDAL tracksB
Read-only

List saved tracks ordered from most recently added, with pagination metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
limitYes
offsetYes
has_moreYes
next_offsetNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior not in the annotations: results are sorted by recency and the response carries pagination metadata. It says nothing about authentication or rate limits, but for a read-only list tool that is a modest gap.

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?

A single front-loaded sentence with the ordering rule and the pagination note; nothing is wasted or repeated.

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?

An output schema exists, so return values need no explanation, and annotations cover the read-only profile. However, in a suite with dozens of list/get siblings, the description offers no routing information and no explanation of the limit/offset behavior, leaving it only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions 'limit' or 'offset'. The phrase 'with pagination metadata' hints that pagination exists but gives no meaning for the two parameters, so the description does not compensate for the coverage gap.

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 gives a specific verb and resource ('List saved tracks') plus the ordering rule ('most recently added'), which is enough to place it among the tidal_list_favorite_* family. It never names a sibling or contrasts with one, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the per-album/playlist track listings or search tools. Usage is only implied by the tool name.

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

tidal_list_favorite_videosList favorite videosB
Read-only

Page through videos saved in My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description usefully adds that results are paged rather than returned in full, but says nothing about page size limits, ordering defaults, or that results depend on the user's saved collection.

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?

A single short sentence with no wasted words and the core action front-loaded. It is efficient, though the brevity comes at the cost of the detail the parameters need.

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?

An output schema exists, so return values need no explanation. However, with four undocumented parameters at 0% schema coverage and no usage guidance, the definition is only minimally sufficient for an agent to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0% across all four parameters (limit, offset, order, order_direction), so the description carries the full burden and does not compensate. 'Page through' vaguely gestures at limit/offset but gives no syntax, defaults, or ordering semantics.

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 ('page through') and resource ('videos saved in My Collection'), which cleanly distinguishes it from siblings like tidal_list_favorite_tracks, tidal_browse_videos, and tidal_get_video. It is clear but relies on the internal term 'My Collection' without explaining it.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as tidal_browse_videos or tidal_search, and no mention of prerequisites (e.g., authentication or that favorites must exist). Usage is only implied by the name.

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

tidal_list_folder_itemsList playlist-folder itemsB
Read-only

Page through playlists contained in one folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
folder_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds a pagination cue ("page through"), but this is largely redundant with the limit/offset and default=50 in the schema; it says nothing about page-size caps, auth requirements, or ordering.

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?

A single front-loaded sentence with zero filler, which is efficient. It verges on under-specification rather than waste, but the structure itself is sound.

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?

An output schema exists, so return values need not be described, and annotations cover the read-only nature. However, for a paginated listing tool with three undocumented parameters, the description omits how to page correctly (limit bounds, offset semantics) and where folder_id comes from.

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

Parameters2/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 for all three parameters, and it only vaguely implies folder_id via "one folder." limit, offset, and the max=100 page cap are never explained, leaving the pagination parameters undocumented in both schema and description.

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 (page through) and resource (playlists contained in one folder), which is enough to distinguish it from tidal_list_playlist_folders (folders themselves) and tidal_get_playlist_items (tracks inside a playlist). It does not name those siblings explicitly, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite (e.g. needing a folder_id obtained from tidal_list_playlist_folders), and no alternative tool named. The agent must infer usage entirely from the tool name and sibling list.

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

tidal_list_genresList TIDAL genresC
Read-only

List every catalog genre.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds no further behavioral context, such as pagination behavior, default limits, or whether it returns a flat list or hierarchy.

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 a single, front-loaded sentence with no wasted words. However, 'List every catalog genre' may be slightly misleading given the presence of pagination parameters, and it is arguably too terse for a tool with undocumented inputs.

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

Completeness2/5

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

While an output schema exists to explain return values and annotations cover safety, the description is incomplete because it provides no information about the limit/offset parameters that the agent must use correctly. For a tool with 0% schema description coverage, more context is needed.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention the limit or offset parameters at all. The agent receives no explanation of how pagination works or what the defaults and constraints mean.

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 ('List') and resource ('catalog genre'), so the agent knows what the tool does. It does not, however, differentiate itself from sibling tools like tidal_browse_genres or tidal_browse_local_genres, which also deal with genres.

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

Usage Guidelines2/5

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

The description gives no indication of when to use this tool versus alternatives, nor any prerequisites or context. It is a bare command with no guidance.

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

tidal_list_playlist_foldersList playlist foldersC
Read-only

Page through the authenticated user's playlist folders.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNo
offsetNo
order_directionNo
parent_folder_idNoroot

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds two useful behavioral facts beyond that: the result is scoped to the authenticated user and it is paginated ('Page through'). It does not disclose rate limits, ordering defaults, or hierarchy behavior.

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?

One short, front-loaded sentence with zero filler. It is efficient, though arguably under-specified rather than optimally concise — the brevity comes at the cost of the folder-scoping and pagination detail an agent needs.

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

Completeness2/5

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

An output schema exists, so return values needn't be explained. But for a five-parameter, 0%-covered paginated collection tool, the description omits pagination mechanics, the parent-folder scoping concept, and any ordering semantics, leaving key invocation decisions unanswerable.

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

Parameters2/5

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

Schema description coverage is 0% for five parameters, so limit/offset/order/order_direction/parent_folder_id are documented nowhere. The description says nothing to compensate — notably it never mentions that results can be scoped to a parent folder, which is the single most consequential parameter (default 'root').

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 ('List', 'Page through') and resource ('authenticated user's playlist folders'), which is clearly distinct from tidal_list_playlists and the various get_* siblings. It does not, however, contrast itself against the adjacent folder tool tidal_list_folder_items, so an agent must infer the boundary between listing folders and listing a folder's contents.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no named alternative. With tidal_list_folder_items and tidal_get_folder in the sibling set, an agent gets no help deciding which folder-related tool answers its question.

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

tidal_list_playlistsList TIDAL playlistsB
Read-only

List the authenticated user's playlists without changing them.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
limitYes
offsetYes
has_moreYes
next_offsetNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is structured data. 'without changing them' merely restates readOnlyHint, though 'the authenticated user's' does add the useful fact that this is an auth-scoped personal query rather than a public listing.

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?

A single front-loaded sentence with the verb and scope first. The trailing 'without changing them' is redundant against the readOnlyHint annotation and is the only wasted clause.

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?

An output schema exists so return values need no explanation, and annotations cover safety. What remains missing for a paginated list tool is any statement of usage routing or paging behavior, leaving the definition adequate but thin.

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

Parameters2/5

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

The schema carries 0% description coverage on limit and offset, and the description says nothing about pagination, defaults (20/0), or the 50-item cap. The names are conventional enough to be usable, but the description does not compensate for the coverage gap.

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 ('List ... playlists') and scopes it to 'the authenticated user's', which quietly separates it from tidal_list_public_playlists and tidal_list_favorite_playlists. It never names a sibling, so the distinction must be inferred rather than read.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no pointer to alternatives such as tidal_list_favorite_playlists or tidal_list_playlists_and_favorites. The agent is left to guess which of the several playlist-listing siblings applies.

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

tidal_list_playlists_and_favoritesList owned and favorite playlistsC
Read-only

Page through the combined playlist view used by TIDAL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the notion of paging, which the limit/offset schema already implies; it says nothing about ordering, deduplication between owned and favorited entries, stability across pages, or auth requirements.

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

Conciseness3/5

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

A single short sentence with no wasted words, but it is terse to the point of under-specification rather than efficient. Front-loading is fine; content density is low.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but for a tool that merges two distinct collections the description omits how the lists are combined, what ordering to expect, and how pagination interacts with the merge. It is not complete enough for an agent to call it confidently.

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

Parameters2/5

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

Both limit and offset have 0% schema description coverage and the description does not explain them, only gesturing at 'page through'. With low coverage, the description should compensate for the missing semantics (page size meaning, max 100, offset bounds) but does not.

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

Purpose3/5

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

The title states 'List owned and favorite playlists', but the description itself only says it pages through a 'combined playlist view', which is vague about what is actually being listed. It never names the siblings tidal_list_playlists or tidal_list_favorite_playlists that it overlaps with, so the agent must infer the distinction from the name alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this combined view versus tidal_list_playlists, tidal_list_favorite_playlists, or tidal_list_playlist_folders. The word 'combined' implies a union, but no condition or alternative is given.

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

tidal_list_public_playlistsList public user playlistsC
Read-only

Page through the authenticated user's public playlists.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemNo
textNo
countNo
itemsNo
limitNo
valueNo
offsetNo
has_moreNo
warningsNo
operationYes
next_offsetNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful scoping ('public' only, scoped to the authenticated user) and hints at pagination via 'Page through', but says nothing about ordering, result caps, or what happens beyond the last page. With annotations carrying the behavioral load, a 3 is appropriate.

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?

A single front-loaded sentence with zero filler; the scope qualifiers ('public', 'authenticated user's') come before the pagination hint. It is efficient, though so terse that it borders on under-specification rather than tightness.

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

Completeness2/5

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

With an output schema present, return values need not be explained, but the description omits any pagination mechanics despite 0% parameter coverage and gives no distinction from the near-identical sibling tidal_list_playlists. For a listing tool in a large sibling set, important selection and paging context is missing.

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

Parameters2/5

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

Schema description coverage is 0% and neither 'limit' nor 'offset' is named or explained; the description only implies pagination vaguely with 'Page through'. The schema's constraints (limit max 100, offset max 100000, defaults) are left undocumented anywhere, so the description fails to compensate for the coverage gap.

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 ('Page through') plus resource and scope ('the authenticated user's public playlists'), which lets an agent distinguish it from tidal_list_favorite_playlists and tidal_list_playlists at a high level. However, it never explicitly contrasts itself with the very similar sibling tidal_list_playlists, so the differentiation is implicit rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g., authentication is assumed via 'authenticated user'), and no mention of the alternative list tools (tidal_list_playlists, tidal_list_favorite_playlists) that an agent must choose between. The agent is left to infer selection criteria entirely.

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

tidal_preview_add_items_to_folderPreview adding folder itemsC

Preview adding playlist or folder TRNs to a folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes
item_trnsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing about what a preview produces, how long it stays valid, or how it is committed, which is the key behavioral fact for this family of tools.

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?

A single efficient sentence with the action front-loaded and no wasted words. It is well-structured but arguably too terse given the missing workflow context.

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

Completeness2/5

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

An output schema exists so return values need not be re-explained, but for a preview tool sitting alongside tidal_commit_action, omitting the preview-to-commit lifecycle leaves a material gap an agent needs to call it correctly.

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 coverage is 0%, so the description carries some burden; it usefully clarifies that item_trns holds playlist or folder TRNs (not arbitrary IDs). It does not explain folder_id, its format, or the 500-item limit beyond what the schema encodes.

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 clear verb (preview adding) and resource (playlist or folder TRNs to a folder), which distinguishes it from siblings like tidal_preview_move_items_to_folder and tidal_preview_remove_folder_items. However, it does not clarify what 'preview' means relative to the sibling tidal_commit_action, leaving the commit-model implicit.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention that a preview must be committed separately (tidal_commit_action is a sibling), and no exclusions versus the other folder-mutating previews. The agent must infer the workflow entirely.

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

tidal_preview_add_track_by_isrc_to_playlistPreview adding a track by ISRCC

Preview resolving and adding an ISRC to an owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
isrcYes
positionNo
playlist_idYes
allow_duplicatesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so safety is partly covered. The description adds the 'owned playlist' constraint, but omits the crucial behavioral fact that this only stages a change (the reason the tool is named 'preview') and what happens to the staged action afterward.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity contributes to the gaps in parameter and workflow detail.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but for a 4-parameter mutation-preview tool with 0% schema coverage and no annotations about the commit workflow, the one-line description leaves too much unspecified for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description carries the full burden, yet it only alludes to isrc and playlist_id. The position and allow_duplicates parameters are completely unexplained in both schema and description, leaving their semantics opaque.

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 ('resolving and adding') and resource ('an ISRC to an owned playlist'), and 'Preview' signals this is a staged, non-committing operation. However, it does not differentiate itself from the sibling tidal_preview_add_tracks_to_playlist (plural) beyond the incidental 'by ISRC' in the name.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over tidal_preview_add_tracks_to_playlist or the get_tracks_by_isrc lookup tools, and no mention that a preview typically needs a follow-up commit via tidal_commit_action. The agent must infer the workflow from the name alone.

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

tidal_preview_add_tracks_to_playlistPreview adding playlist tracksC

Preview adding exact track IDs to an owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNo
track_idsYes
playlist_idYes
allow_duplicatesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is largely covered. The description adds useful context that this is a preview (no immediate mutation) and that the playlist must be owned, but it omits the preview-to-commit workflow and any limits. Note the mild tension between 'preview' semantics and readOnlyHint=false, which the description does not resolve.

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?

A single front-loaded sentence with no filler, and the core action and target are stated immediately. It is efficient, though its brevity contributes to the coverage gaps elsewhere.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with 4 parameters at 0% schema coverage and no explanation of the preview/commit pairing, an agent lacks enough to call this correctly and act on the result. The description does not fill that gap.

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

Parameters2/5

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

Schema description coverage is 0% for 4 parameters. The description covers only track_ids and the playlist (via 'owned playlist'); it says nothing about position, allow_duplicates, the 1-500 track bound, or the 160-char playlist_id limit. With no schema descriptions, the description fails to compensate for the coverage gap.

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 (preview adding) and resource (exact track IDs to an owned playlist), which implicitly separates it from tidal_preview_add_track_by_isrc_to_playlist. However, it never names that sibling explicitly, so the differentiation requires the agent to infer it from 'exact track IDs'.

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

Usage Guidelines2/5

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

No when-to-use guidance beyond the word 'Preview'. It never explains that this is a non-committing step that must be followed by tidal_commit_action, nor when to prefer it over tidal_preview_add_track_by_isrc_to_playlist. The 'owned playlist' constraint is the only contextual hint.

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

tidal_preview_clear_playlistPreview clearing a playlistC

Preview removing every item from an owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false, which the description supports by making clear this is only a preview of the removal. The mention of 'owned playlist' hints at an ownership precondition. However, nothing is said about what the preview returns, how long it stays valid, or whether a token is required to commit it — the main behavioral traits an agent would need.

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?

A single front-loaded sentence with zero filler. It is efficiently written, though the extreme brevity borders on under-specification rather than disciplined conciseness.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but the description omits the commit workflow that makes a preview tool usable and says nothing about the ownership/auth requirement for a playlist-wide destructive operation. For a tool whose whole purpose is a staged change, this leaves critical gaps.

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

Parameters2/5

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

Schema description coverage is 0% for the single playlist_id parameter, so the description carries the full burden and it does not define the identifier's format or source (e.g., a TIDAL playlist UUID from tidal_list_playlists). The only related signal is the implicit 'owned' constraint.

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 object ('removing every item') plus scope ('owned playlist'), which distinguishes it from the granular siblings like tidal_preview_remove_playlist_item_by_id. The word 'Preview' correctly signals this is a dry-run variant rather than the real mutation, though it never names the commit tool that would execute it.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. The description never explains the preview/commit two-phase flow or points to the corresponding commit sibling, so an agent must infer from the tool name alone that a preview has no lasting effect and needs a follow-up commit.

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

tidal_preview_create_folderPreview folder creationC

Preview creating a playlist folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
parent_folder_idNoroot

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations supply readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description repeats 'preview' but never explains the strongest behavioral fact an agent needs: whether this returns a pending action/token to be committed later, or whether a preview mutates anything. That preview-vs-mutation distinction is exactly the context the annotations cannot convey.

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

Conciseness3/5

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

A single clean sentence with no waste is structurally fine. But brevity here is under-specification rather than efficiency: the one sentence is the entire definition and earns little beyond the title.

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

Completeness2/5

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

An output schema exists so return values need not be described, but this is a mutation-flow tool with 0% parameter coverage, no commit guidance, and no explanation of the preview semantics. Given the dense sibling set of preview_* tools, the definition leaves the agent without enough to call it correctly in context.

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

Parameters2/5

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

Schema description coverage is 0% — neither 'title' nor 'parent_folder_id' carries any description. The description mentions no parameters at all, so it does not compensate for the coverage gap; the fact that parent_folder_id defaults to 'root' is undocumented anywhere.

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 verb and resource ('preview creating a playlist folder'), which is unambiguous on its own. It does not, however, differentiate itself from the commit counterpart (tidal_commit_action) or from tidal_preview_create_playlist beyond the word 'folder'.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus tidal_commit_action or the other preview siblings. An agent must infer the preview-then-commit workflow entirely from naming conventions, and nothing tells it that this tool alone does not persist the folder.

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

tidal_preview_create_playlistPreview playlist creationB

Preview a new playlist and its exact ordered track IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
track_idsNo
descriptionNo
parent_folder_idNoroot

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is largely covered. The description adds that the result includes ordered track IDs, which is genuinely useful, but it never clarifies whether the preview actually persists a playlist or resolves/validates track_ids — the key ambiguity for a 'preview' tool.

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?

A single, well-formed sentence with the core action front-loaded and zero padding. It is appropriately sized, though the brevity is partly what leaves parameters and usage unexplained.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the definition is thin for a 4-parameter tool: no parameter guidance, no clarification of how the preview relates to tidal_commit_create_playlist, and no statement of whether anything is persisted. For a preview/commit workflow this leaves meaningful gaps.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description must carry the burden — and it doesn't. It only hints at track_ids via 'ordered track IDs' and says nothing about title, description, or parent_folder_id, leaving the agent to guess at the creation payload.

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 verb+resource: 'Preview a new playlist.' The word 'preview' implicitly separates it from the commit sibling, and 'its exact ordered track IDs' clarifies the output. It stops short of naming tidal_commit_create_playlist explicitly, so sibling routing is left to inference.

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?

Usage is only implied: 'Preview' suggests this is the dry-run step before tidal_commit_create_playlist, but the description never says when to call this versus the commit tool or whether the preview must precede a commit. No exclusions or prerequisites are given.

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

tidal_preview_delete_folderPreview folder deletionC

Preview deleting one playlist folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows the call is not destructive but also not a pure read. The description adds only the word 'preview' and does not explain that this likely stages a pending action requiring a later commit, nor whether/how it mutates state, which is the key behavioral unknown here.

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?

A single short sentence with zero filler and the key action front-loaded. It is efficient, though its brevity is a symptom of under-specification rather than genuine optimal concision.

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

Completeness2/5

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

An output schema exists so return values need not be described, but the description omits the essential preview-to-commit workflow and any indication of what 'preview' produces or how to act on it. For a mutation-adjacent tool with an undocumented parameter, this is too thin.

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

Parameters2/5

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

Schema description coverage is 0% for the single folder_id parameter, so the description must compensate. The phrase 'one playlist folder' only loosely implies that folder_id identifies the target folder; it adds no format, source, or lookup guidance beyond that.

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 clear verb (preview deleting) and resource (one playlist folder), which distinguishes it from sibling tidal_preview_delete_playlist and the folder-management siblings like tidal_preview_remove_folder_items. It does not, however, explain what 'preview' means in this tool family, leaving the agent to infer the mechanism.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and critically no reference to tidal_commit_action, which appears to be the sibling that actually performs a previewed action. An agent cannot tell from this text what to do with the preview or how it relates to committing.

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

tidal_preview_delete_playlistPreview playlist deletionB

Preview permanently deleting one owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false, readOnlyHint=false, and idempotentHint=false, so the safety profile is mostly covered. The description adds genuine context with 'permanently' (the ultimate effect being previewed) and 'owned' (an ownership/permission requirement), but omits the two-phase preview/commit behavior that is the key trait of this tool family. It does not contradict the annotations, since a preview of a deletion is itself non-destructive.

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?

A single front-loaded sentence with no filler or repetition. It is tight, though arguably too terse for a mutation-preview tool that would benefit from one clause about the commit step.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. The remaining gap is the missing preview-to-commit workflow explanation, which is the most important thing an agent needs to call this tool correctly rather than assuming it performs the deletion.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not explain the playlist_id parameter, where to obtain it, or its format. The word 'owned' hints that the ID must reference a playlist the caller owns, which is the only meaning added beyond the raw schema, so it falls short of compensating for the coverage gap.

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 gives a specific verb (Preview), resource (deleting a playlist), and scope (one, owned), so an agent can distinguish it from siblings like tidal_preview_delete_folder or tidal_commit_action. It stops short of naming the commit sibling, but the preview/commit naming convention makes the distinction clear.

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?

Usage is only implied: the word 'Preview' suggests this should precede an actual deletion, but the description never states that this tool does not delete anything itself or that the result must be passed to tidal_commit_action. No when-not-to-use or alternative guidance is given.

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

tidal_preview_edit_playlistPreview playlist editB

Preview changing an owned playlist's title or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
descriptionNo
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, covering the safety profile. The description usefully adds the 'owned playlist' auth constraint and the preview (no immediate side effect) framing, but omits the crucial behavioral detail of how the preview is later committed.

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?

A single front-loaded sentence with zero waste, correctly leading with the verb and operation. It is efficient, though for a 0%-coverage schema the brevity leaves gaps rather than being ideally sized.

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?

An output schema and annotations exist, so return values and the safety profile need not be explained. However, for a preview-mutation tool operating in a preview/commit pair, the missing link to the commit step leaves the definition short of complete.

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 0%, so the schema provides names but no meaning. The description maps 'title or description' to two of the three parameters and clarifies playlist_id must reference an owned playlist, but it ignores the length constraints (120/500) and adds no real constraint detail.

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 names a specific operation ('changing ... title or description') on a specific resource ('owned playlist'), distinguishing it from sibling preview tools like tidal_preview_add_tracks_to_playlist or tidal_preview_set_playlist_public. It is clear without opening the schema, though it does not position itself relative to the commit-side tools.

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 word 'Preview' and the ownership qualifier imply this is a staging/non-committing step, but the description never states the preview-then-commit workflow or names a commit sibling. No explicit when-not-to-use or alternative guidance is given.

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

tidal_preview_favorite_albumPreview favoriting an albumC

Preview saving one or more albums to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations supply the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), but the description adds only the notion of previewing and nothing about what the preview returns, whether it mutates anything, or whether it must be committed/expires. There is tension between 'Preview' (implying no state change) and readOnlyHint=false, but it is not an outright verb-level contradiction like a write declared read-only.

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?

A single front-loaded sentence with zero filler and no redundancy. It is appropriately sized rather than padded, though arguably under-specified for a tool embedded in a preview/commit workflow.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a multi-step preview tool the description omits the essential pairing with a commit action and any note on preview lifetime, leaving the agent unable to complete the workflow from the definition alone.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, and the description only echoes the array plurality ('one or more albums'). It gives no ID format (e.g., Tidal album IDs), no mention of the 500-item cap, and no guidance on duplicate or invalid IDs.

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 ('Preview saving'), resource ('albums') and destination ('My Collection'), so the agent knows this is a dry-run favorite operation distinct from tidal_preview_unfavorite_album. It does not, however, distinguish itself from the commit side of the workflow, which is the more important ambiguity.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the commit path (tidal_commit_action) or versus the read-only listers like tidal_list_favorite_albums. The word 'Preview' hints at a dry-run, but the sequencing ('then commit to apply') is left entirely to inference.

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

tidal_preview_favorite_artistPreview favoriting an artistC

Preview saving one or more artists to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations give readOnlyHint=false, idempotentHint=false, destructiveHint=false, but the description doesn't resolve the tension between 'Preview' (sounds non-mutating) and readOnlyHint=false, nor explain what the preview produces or how long it stays valid. It adds 'one or more artists' and 'My Collection' but nothing about the staged-action lifecycle.

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?

A single tight sentence with the action front-loaded and no filler. It is efficient, though there is room for a second sentence that would have added needed context without bloat.

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

Completeness2/5

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

An output schema exists so return values need not be described, but for a preview tool the essential context — that it stages rather than performs the change and requires a commit step — is absent. Given a paired tidal_commit_action sibling, this omission leaves the agent unable to use the tool correctly.

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

Parameters2/5

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

One parameter with 0% schema description coverage. The schema conveys cardinality (minItems 1, maxItems 500) and array-of-strings type, but the description only restates 'one or more artists' and never clarifies that these must be TIDAL artist IDs, which is the key semantic the agent needs.

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 (preview saving) and resource (artists) with the target collection named, which cleanly separates it from tidal_preview_favorite_track/album/video siblings. It does not, however, explicitly contrast itself with tidal_preview_unfavorite_artist or tidal_commit_action.

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

Usage Guidelines2/5

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

No when-to-use guidance beyond the implied 'preview' semantics. Critically, it never mentions that a preview must be followed by tidal_commit_action to actually apply the change, even though that sibling exists — an agent could reasonably assume calling this favorites the artist.

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

tidal_preview_favorite_mixPreview favoriting a mixB

Preview saving one or more mixes to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds the 'preview' concept but does not explain what a preview actually does — whether it stages a pending action, returns a token, or must be followed by a commit. This is the key behavioral gap the annotations cannot fill.

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?

A single front-loaded sentence with no waste. Its brevity is efficient, though the same brevity leaves the workflow unexplained.

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?

An output schema exists, so return values need no explanation, and there is only one simple parameter. However, the description omits the preview-to-commit workflow that an agent needs in order to use a staging tool correctly.

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 0%, so the description must compensate. It contributes 'one or more mixes', clarifying the array is a batch, but says nothing about ID format or the 500-item cap already expressed in the schema. Minimal compensation for the coverage gap.

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-plus-resource (preview saving mixes to My Collection) and signals the batch scope with 'one or more mixes'. The favorite-vs-unfavorite split is carried by the name, but the description never distinguishes this staging tool from its commit counterpart, so sibling routing is only partial.

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 word 'Preview' implies a dry-run that precedes a real commit, but the description never says when to use this versus tidal_commit_action or the commit flow generally. Usage is only inferable from the vocabulary, not stated.

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

tidal_preview_favorite_playlistPreview favoriting a playlistC

Preview saving one or more playlists to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idsYes
parent_folder_idNoroot

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations supply the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower, but the description adds almost no behavioral context. It does not say whether the preview mutates any state, what it returns, that it requires a follow-up commit, or whether it needs write-scope auth — all essential for a 'preview' action whose whole purpose is to precede a mutation. The word 'Preview' sits in tension with readOnlyHint=false but is not explicit enough to be a hard contradiction.

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?

A single, front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is a symptom of under-specification rather than disciplined concision.

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

Completeness2/5

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

An output schema exists, so return values need not be described, and annotations cover the safety hints. However, the description omits the two most important pieces of context for this tool: that it is a non-committing preview requiring a follow-up commit, and what parent_folder_id does. It is not complete enough for an agent to invoke the tool correctly in context.

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

Parameters2/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 carry parameter meaning. 'one or more playlists' loosely maps to the playlist_ids array with minItems 1/maxItems 500, but the parent_folder_id parameter — which controls where the playlist lands (default 'root') — is never mentioned or explained. Roughly half the parameters remain undocumented.

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 verb ('saving') and resource ('playlists') and clarifies the destination ('My Collection'), which distinguishes favoriting from sibling operations like tidal_preview_unfavorite_playlist or tidal_preview_delete_playlist. It does not, however, contrast itself with any sibling explicitly. The 'preview' framing is present but its relationship to the actual commit step is left implicit.

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

Usage Guidelines2/5

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

No when-to-use guidance is given. Critically, for a preview tool the description never explains that this is the first step of a two-phase flow requiring a subsequent commit (e.g., tidal_commit_action), nor when to prefer it over alternatives. The agent must infer the entire workflow from the name.

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

tidal_preview_favorite_trackPreview favoriting a trackC

Preview saving one or more tracks to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

The description frames this as a 'Preview' (implying a non-mutating dry run), yet annotations declare readOnlyHint=false, so the agent cannot tell whether state actually changes. Nothing is said about whether a preview must be followed by a commit, whether it expires, or what the preview returns beyond the existence of an output schema.

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?

A single front-loaded sentence with zero padding and no repetition of the title. It is efficient, though the brevity is partly under-specification rather than pure economy.

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

Completeness2/5

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

An output schema exists, so return-value explanation is not required. But for a preview/write-intent tool in a preview+commit architecture, the description omits the most decision-relevant context: how this pairs with tidal_commit_action and what the agent is expected to do after previewing.

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

Parameters2/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 carry the burden. It adds only 'one or more tracks', which conveys plurality and maps loosely to minItems=1, but says nothing about the maxItems=500 ceiling, the fact that entries are TIDAL track IDs, or any ID format.

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+resource: 'Preview saving ... tracks to My Collection.' An agent can distinguish it from tidal_preview_unfavorite_track and tidal_list_favorite_tracks by the verb alone. It does not, however, distinguish itself from the near-twin tidal_preview_favorite_track_by_isrc, which differs only in the identifier type accepted.

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

Usage Guidelines2/5

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

No when-to-use guidance at all. The critical routing question for a tool named 'preview' in a server that also exposes tidal_commit_action and ~30 other tidal_preview_* tools — namely whether this stages a change that must later be committed, and how — is left entirely unstated.

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

tidal_preview_favorite_track_by_isrcPreview favoriting by ISRCA

Preview resolving and saving one track by ISRC.

ParametersJSON Schema
NameRequiredDescriptionDefault
isrcYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already carry the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds that the tool both resolves (lookup may fail) and saves, which is useful. However, it never explains what 'preview' means operationally — that this is a dry run whose result must be committed — which is the key behavioral trait an agent needs.

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?

A single front-loaded sentence with no filler. The action, the resource, and the identifier type all appear immediately, and nothing is redundant.

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?

An output schema exists, so return values need not be explained. But for a mutation-adjacent preview tool in a preview/commit pipeline, the description omits the essential context that this action is staged and must be finalized via tidal_commit_action, leaving the workflow ambiguous.

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 0%, so the description must compensate. It names the identifier ('by ISRC') for the single parameter, but adds no format or validation detail (e.g., ISRC structure). With one self-evident required param, this is minimally adequate rather than rich.

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 verb ('resolving and saving'), a resource ('one track'), and a disambiguating qualifier ('by ISRC') that separates it from the id-based sibling tidal_preview_favorite_track. It is clear and distinguishable, though it does not explain what 'preview' entails.

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?

Usage is only implied: the 'by ISRC' qualifier tells an agent to use this variant when it holds an ISRC rather than a track ID. No explicit when-to-use, exclusions, or named alternatives are given, and the preview/commit workflow is not mentioned.

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

tidal_preview_favorite_videoPreview favoriting a videoC

Preview saving one video to My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is partially covered. The description adds nothing, however, about the defining behavior of a preview tool: that nothing is persisted until a subsequent commit, what the preview response represents, or whether repeat calls accumulate. For a mutation-adjacent tool this is a meaningful gap.

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?

A single short sentence with the action front-loaded and zero filler. It is well formed, though its brevity is partly under-specification rather than economy.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, for a preview tool sitting alongside tidal_commit_action and a large preview_* family, the description omits the preview-to-commit workflow that an agent must understand to use it correctly, leaving the definition incomplete for its complexity.

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?

Only one parameter exists and the schema description coverage is 0%, so the description carries the burden; 'one video' confirms single-item semantics but does not clarify whether video_id is a TIDAL numeric ID, a URL, or a URN (maxLength 160 hints at a URL/form but is not explained). The parameter name is largely self-explanatory, so this lands at an adequate baseline.

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 ('Preview saving one video to My Collection'), which cleanly distinguishes it from tidal_preview_unfavorite_video and tidal_preview_favorite_track in the sibling list. It stops short of explaining what a 'preview' actually produces, so it is clear but not fully self-contained.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says this must be followed by a commit step, nothing explains how it differs from the real favoriting operation, and no prerequisites (auth, ownership of the collection) are mentioned. The agent must infer usage entirely from the name.

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

tidal_preview_merge_playlistPreview playlist mergeC

Preview copying one playlist into another.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes
allow_missingNo
allow_duplicatesNo
source_playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.4/5.0
Behavior1/5

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

The annotations declare readOnlyHint=false, meaning the tool may have side effects, yet the description's 'Preview' framing strongly implies no state change. This is a contradiction. Additionally, the description adds no behavioral context beyond the annotations—it does not clarify whether any state is modified, what the preview output contains, or how it interacts with commit tools.

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

Conciseness2/5

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

The description is a single short sentence with no structural waste, but it is severely under-specified for a tool with four parameters and non-trivial behavior. Conciseness here comes at the cost of necessary information.

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

Completeness2/5

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

Given four undocumented parameters, a contradiction with annotations, and no explanation of how this preview relates to the commit step or what the preview return contains, the description is substantially incomplete. An output schema exists, so return values need not be described, but parameter semantics and behavioral context are missing.

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

Parameters1/5

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

Schema description coverage is 0%, so none of the four parameters are documented in the schema. The description does not mention any parameter (playlist_id, source_playlist_id, allow_missing, allow_duplicates), leaving their meaning entirely unexplained.

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 verb (preview copying) and resource (one playlist into another), which distinguishes it from sibling tools like preview_create_playlist or preview_add_tracks_to_playlist. However, it does not explicitly differentiate from the commit action that would perform the actual merge, so it falls short of a 5.

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 word 'Preview' implies a dry-run before committing, which gives implicit usage context. But there is no explicit guidance on when to use this versus alternatives like tidal_commit_action, nor any mention of prerequisites or exclusions.

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

tidal_preview_move_items_to_folderPreview moving folder itemsC

Preview moving playlist or folder TRNs into a folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes
item_trnsYes
destination_folder_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is largely covered. The word 'preview' adds meaningful context that no state actually changes yet, but the description never explains what the preview produces or how the commit step consumes it. There is a mild tension between 'preview' (implying read-only) and readOnlyHint=false, though the staging behavior likely justifies the annotation, so this is not a true contradiction.

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?

A single short sentence with the action front-loaded and no filler. It is appropriately sized, though its brevity is part of why the parameter and workflow gaps remain unfilled.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for a mutation-staging tool with three fully undocumented required parameters and a preview/commit two-step pattern shared with many siblings, the description omits the essential operational context an agent needs to call it correctly.

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

Parameters2/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 carry parameter meaning, and it only partly does. It clarifies that item_trns holds playlist or folder TRNs, but the critical distinction between folder_id (source) and destination_folder_id (target) is left entirely ambiguous, as is the accepted TRN format.

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 names a specific verb (preview moving), the resource being moved (playlist or folder TRNs), and the target (a folder), which is enough for an agent to distinguish it from add_items_to_folder or move_items_to_root. It stops short of explicitly contrasting with those siblings, so it is clear but not fully differentiating.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives such as tidal_preview_add_items_to_folder (which adds rather than moves), tidal_preview_move_playlist_item_by_id, or tidal_preview_move_items_to_root. The 'preview' prefix strongly implies a dry-run that must be followed by tidal_commit_action, but that workflow is never stated.

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

tidal_preview_move_items_to_rootPreview moving items to rootC

Preview moving playlist or folder TRNs to collection root.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes
item_trnsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.5/5.0
Behavior1/5

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

Annotations declare readOnlyHint=false, i.e. the tool may modify state, while the name and description both present it as a 'Preview' (a dry-run that should not change anything). This is a direct conflict between the stated behavior and the structured annotation, so the description fails to give the agent reliable behavioral information. destructiveHint=false and idempotentHint=false add further ambiguity for a preview operation.

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?

A single, front-loaded sentence with no filler, and the operation is stated first. It is efficient, though its brevity contributes to the gaps in the other dimensions.

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

Completeness2/5

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

An output schema exists, so return values need not be described, but for a preview tool feeding a commit workflow the description omits what the preview produces and how it is applied. Combined with 0% parameter coverage and contradictory annotations, the definition is not complete enough for reliable invocation.

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

Parameters2/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 carry parameter meaning. It hints that items are 'TRNs' and that the destination is the collection root, but it never explains what folder_id refers to (the source folder? the containing folder?) or the item_trns format/limits, leaving both required parameters under-specified.

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 names a specific operation (preview moving), the resource (playlist or folder TRNs), and the destination (collection root), which is enough to separate it from tidal_preview_move_items_to_folder or the by-id/by-index move variants. It is clear without opening the schema, though it does not explicitly name the sibling it differs from.

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

Usage Guidelines2/5

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

There is no statement of when to use this preview versus the commit path (tidal_commit_action) or the non-root move variants. For a 'preview' tool the crucial guidance – that this is a dry-run whose result must be committed separately – is entirely absent.

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

tidal_preview_move_playlist_item_by_idPreview moving a playlist itemC

Preview moving an item identified by media ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYes
positionYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, but the description adds no behavioral context beyond the word "Preview." It never explains whether the preview mutates anything, what state a later commit expects, whether auth is required, or what happens if two items share the same media ID — the key risk for an ID-addressed move.

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?

A single front-loaded sentence with no filler; the verb and identifier scheme come first. It is efficient but so terse that it reads as an under-specified one-liner rather than a deliberately compact summary.

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

Completeness2/5

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

Though an output schema exists (so return values need not be explained), the description omits two of three parameters at 0% schema coverage and never situates the tool in the preview-then-commit pattern. Nothing tells the agent that this is a dry run whose result must be committed separately.

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

Parameters2/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 compensate, and it only glosses media_id ("identified by media ID"). Neither position (target index/slot) nor playlist_id is clarified, and the ordering semantics of a move — where the item lands relative to removed/insert positions — is left entirely undocumented.

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 names a specific verb ("Preview moving") and resource ("item"), and the phrase "identified by media ID" differentiates it from the sibling tools that move items by index (tidal_preview_move_playlist_item_by_index, ...by_indices). It falls short of a 5 only because "preview" — the single most important qualifier — is left undefined relative to the commit workflow.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of the preview/commit relationship (e.g. tidal_commit_action), and no statement of when to choose media-ID addressing over index-based addressing. Sibling names alone are the only routing signal.

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

tidal_preview_move_playlist_item_by_indexPreview moving a playlist indexC

Preview moving an item identified by its current index.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes
positionYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.5/5.0
Behavior1/5

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

The description says 'Preview moving,' which strongly implies a dry-run/read-only operation, but the annotations declare readOnlyHint=false. That is a direct conflict with the preview semantics. No additional behavioral context such as auth requirements or rate limits is provided.

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 a single front-loaded sentence with no filler. It is appropriately concise, though its brevity contributes to gaps documented in other dimensions.

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

Completeness2/5

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

For a three-parameter preview mutation tool with 0% schema description coverage and an output schema, the description omits target-position semantics, playlist context, and preview-versus-commit workflow. It is too under-specified to fully guide invocation.

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

Parameters2/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 carry parameter meaning. It partially explains 'index' as the item's current index, but it does not explain 'position' or 'playlist_id,' nor does it clarify the relationship between current index and target position.

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 gives a specific verb ('moving') and resource ('item'), qualified by 'identified by its current index.' This implicitly distinguishes it from sibling tools that move by ID or by multiple indices, though it does not explicitly name those alternatives.

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

Usage Guidelines2/5

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

There is no guidance on when to use this preview tool instead of the commit action or the by-id/by-indices move siblings. The word 'Preview' hints at a dry-run context, but no when-to-use or when-not-to-use conditions are provided.

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

tidal_preview_move_playlist_items_by_indicesPreview moving playlist indicesC

Preview moving several current indices as one operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
indicesYes
positionYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description adds only a hint of atomicity ('as one operation') and nothing about ordering semantics, limits (500 indices), or what the preview returns.

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?

A single front-loaded sentence with no filler, but it is terse to the point of omission rather than efficiently dense.

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

Completeness2/5

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

For a 3-parameter, 0%-coverage mutation-style tool, the description is not complete enough. An output schema exists so return values need not be explained, but parameter meaning and ordering behavior are left entirely to inference.

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

Parameters2/5

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

Schema description coverage is 0% for all three required parameters, so the description must compensate and does not. It hints at a collection of indices but says nothing about how 'position' interacts with the indices (e.g. whether it is relative to the list before or after removal), which is the key semantic ambiguity for a move tool.

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

Purpose3/5

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

The verb 'moving' and the batch scope ('several current indices as one operation') are stated, and 'several' distinguishes it from the singular tidal_preview_move_playlist_item_by_index. However, the resource (playlist items) is never named in the description and only inferable from the tool name, and 'current indices' is vague about what is being indexed.

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

Usage Guidelines2/5

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

No statement of when to pick this over tidal_preview_move_playlist_item_by_index, tidal_preview_move_playlist_item_by_id, or the commit counterpart. The word 'Preview' weakly implies a dry-run usage but nothing routes the agent among the many sibling move/remove variants.

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

tidal_preview_remove_folder_itemsPreview removing folder itemsB

Preview removing playlist or folder TRNs from the collection tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_trnsYes
item_typeNofolder

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds the crucial 'preview' trait, telling the agent this does not actually mutate state, which is real value beyond annotations. It stops short of explaining what the preview produces or that a commit follow-up is needed.

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?

A single front-loaded sentence with zero filler. The operation and its scope are stated immediately with no wasted words.

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?

An output schema exists so return values need not be explained, and annotations cover safety. However, with 0% param coverage and no usage guidance, the absence of any note on the preview/commit workflow leaves this thin for a stateful dry-run operation.

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 0%, so the description must carry the load. It does add a little by tying the call to 'playlist or folder TRNs', implicitly explaining item_type's domain and that item_trns are TRN strings, but it omits TRN format, the 1-500 item bounds, and which parameter is required.

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+resource ('Preview removing') and scope ('from the collection tree'), and matches the item_type enum by naming 'playlist or folder TRNs'. It does not explicitly distinguish itself from the commit sibling or the other preview_remove_* tools, but the folder-scoped resource makes it identifiable.

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

Usage Guidelines2/5

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

No indication of when to use this versus the non-preview remove operations or when to follow with a commit. There is no mention of prerequisites, dry-run semantics, or alternative tools, leaving usage entirely to inference.

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

tidal_preview_remove_playlist_item_by_idPreview removing a playlist itemB

Preview removing one media ID from an owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact — the playlist must be owned — but does not explain what 'preview' returns or how it relates to a commit step. No annotation contradiction: 'preview' plus destructiveHint=false is coherent.

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?

A single front-loaded sentence with no filler. Every word contributes to scope or resource identification.

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

Completeness2/5

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

Output schema exists so return values need not be described, but for a preview tool in a large preview/commit family the description omits the single most important context: that this is a non-applied staging call requiring a subsequent commit. That omission leaves an agent likely to mis-sequence the workflow.

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 0%, so the description must carry the load. It does clarify that media_id is a media identifier (not an index) and that playlist_id must reference an owned playlist, which is meaningful disambiguation, but it gives no format, length, or ID-syntax detail.

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 (removing), resource (media ID), and scope (one, from an owned playlist). 'One media ID' usefully distinguishes it from the plural sibling remove_playlist_items_by_ids and from the index-based variant, though it never names those siblings explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance and no explanation of the preview/commit two-phase pattern that clearly exists in this tool family (tidal_commit_action, tidal_preview_*). The agent is left to infer that 'preview' means nothing is applied until committed.

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

tidal_preview_remove_playlist_item_by_indexPreview removing a playlist indexC

Preview removing one item by current index.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description's 'Preview' wording adds genuine context beyond the annotations by signaling the action is not applied immediately, but it stops short of explaining the preview/commit workflow or what the preview returns given that annotations imply some non-read-only state change.

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?

A single tight sentence with no filler, and the key scope word ('Preview') leads. It is efficient, though the brevity edges toward under-specification rather than true conciseness.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. However, for a preview tool living alongside tidal_commit_action, the description omits the crucial fact that the removal is staged and must be committed, and it says nothing about index semantics or playlist_id, leaving the agent to guess at the two-step flow.

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

Parameters2/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 carry the parameter burden. 'By current index' gives some meaning to the index parameter (a live position in the playlist, implying subsequent indices shift), but playlist_id is never mentioned and the zero-based basis is left to the schema's minimum of 0.

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 names a specific operation (preview removing a single item), the resource (playlist item), and the addressing scheme (current index). It implicitly separates this from siblings like tidal_preview_remove_playlist_item_by_id and tidal_preview_remove_playlist_items_by_indices by emphasizing 'one item' and 'index', but it never names those alternatives explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to choose index-based removal over the four sibling variants (by_id, by_indices, by_ids), nor any note that this is a preview that must later be executed via tidal_commit_action. Usage is only inferable from the tool name.

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

tidal_preview_remove_playlist_items_by_idsPreview removing playlist media IDsB

Preview removing several exact media IDs from an owned playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idsYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is already structured. The description adds the 'owned playlist' requirement (an authorization constraint not in the schema), which is genuinely useful, but it does not explain what a 'preview' produces or how it relates to the commit tool, despite a preview implying no side effects.

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?

A single front-loaded sentence with no filler; the action and scope come first. It is efficient, though the terseness leaves gaps that a slightly longer description could have covered.

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?

An output schema exists so return values need not be explained, and annotations cover the safety profile. Still, for a bulk-removal preview with a 500-item limit and a commit counterpart, the description omits the limit and the preview-to-commit relationship, leaving the agent with only a minimum-viable picture.

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 0%, so the description must carry the load; it identifies both concepts (exact media IDs, owned playlist_id) but adds no detail on the media_ids max of 500, the ID format, or playlist_id constraints. It gives minimal semantic grounding but does not fully compensate for the empty schema descriptions.

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 action (preview removing) on a specific resource (media IDs from an owned playlist), and the word 'several' plus 'exact media IDs' implicitly distinguishes it from the singular by_id and the by_indices siblings. It stops short of naming an alternative explicitly, so an agent must infer the distinction.

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?

'Preview' conveys that this is a dry-run/non-committing step and 'owned playlist' implies an ownership prerequisite, which is useful selection context. However, there is no explicit when-to-use vs when-not, and no mention of the commit step or the by_id/by_index alternatives.

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

tidal_preview_remove_playlist_items_by_indicesPreview removing playlist indicesC

Preview removing several items by current indices.

ParametersJSON Schema
NameRequiredDescriptionDefault
indicesYes
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations cover safety traits (destructiveHint=false, idempotentHint=false, openWorldHint=true), lowering the bar, but the crucial "preview" semantics are unexplained: what staging means, whether anything is mutated now, how the preview relates to a later commit, and how index shifting affects multiple removals. That is the most important behavioral fact and it is absent.

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?

A single front-loaded sentence with no filler, so it is efficient. The terseness is arguably under-specification rather than true conciseness, but nothing is wasted.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a batch, order-sensitive preview mutation tool the description omits the preview lifecycle and index-shift behavior, leaving an agent unable to use it correctly in the larger workflow.

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

Parameters2/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 compensate. It only hints that indices are "current" positions and that multiple are involved (plural), but says nothing about playlist_id, index validity, the 500-item cap, or ordering effects when removing several indices at once.

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 verb ("Preview removing") on a specific resource (playlist items) with a scoping qualifier ("by current indices") that distinguishes it from the by_id/by_ids siblings. It is clear what the tool does without opening the schema, though it never names the playlist_id argument or the siblings explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing guidance. The description never mentions the preview/commit workflow (e.g. that this stages an action to be later applied via tidal_commit_action) nor when to prefer by_id/by_index/by_ids variants over this one.

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

tidal_preview_rename_folderPreview folder renameC

Preview renaming one playlist folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
folder_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, so the description's 'Preview' framing leaves the agent unsure whether state is mutated or merely staged. The description adds nothing about what a preview produces, whether it expires, or that a separate commit is required. Output schema covers return values but not the workflow semantics.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably terse to the point of under-specification rather than genuinely concise.

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

Completeness2/5

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

With an output schema present, return values are covered, but the description omits the preview/commit relationship, parameter meaning, and any behavioral context for a tool whose annotations mark it as non-read-only and non-idempotent.

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

Parameters2/5

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

Schema coverage is 0% and the description names no parameters. The agent can only infer that folder_id identifies the target and title is the new name from the tool name and schema titles; no format, constraint, or collision behavior is explained.

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 ('renaming one playlist folder') with the 'Preview' qualifier, which distinguishes it from the create/delete/move folder siblings. However, it never distinguishes itself from the commit side of the workflow (tidal_commit_action), so the agent cannot tell whether calling this alone accomplishes anything.

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

Usage Guidelines2/5

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

No when-to-use guidance at all. In a toolset full of preview_* tools paired with commit tools, the description omits the crucial fact that this is a dry-run step that must be followed by a commit action to take effect.

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

tidal_preview_set_playlist_privatePreview making a playlist privateC

Preview changing an owned playlist to private visibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is largely covered. The description adds the 'owned playlist' precondition, which is useful, but omits the preview-to-commit lifecycle and any auth requirements.

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?

A single short, front-loaded sentence with no wasted words. It is efficient, though arguably terse given the missing workflow context.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but for a preview tool sitting alongside a commit tool the description should at least signal the commit step and the ownership/auth requirement. As written, an agent lacks what it needs to place this call correctly in a workflow.

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

Parameters2/5

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

Schema description coverage is 0% for the single required playlist_id. The description only hints that the playlist must be 'owned', which conveys a prerequisite but no format, source, or how to obtain the id – it does not compensate for the undocumented parameter.

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 ('changing an owned playlist to private visibility') and is clearly distinguishable from the sibling tidal_preview_set_playlist_public. However, it never explains what 'Preview' means operationally, so the exact effect is left implicit.

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

Usage Guidelines2/5

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

No when-to-use guidance and no mention of the commit workflow, even though the toolset contains tidal_commit_action and tidal_commit_create_playlist. An agent cannot tell from the description whether this previews a pending change requiring a later commit or performs an actual visibility change.

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

tidal_preview_set_playlist_publicPreview making a playlist publicB

Preview changing an owned playlist to public visibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful 'owned playlist' precondition, which is not in the structured data, but it omits any explanation of what 'preview' actually means operationally (staging vs. execution) or whether the change is reversible.

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?

A single clean, front-loaded sentence with no filler. It is efficient, though arguably too terse given the unaddressed preview/commit semantics.

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?

Completeness is eased by the presence of an output schema (return values needn't be described) and by annotations covering the safety profile, and the tool is simple with one parameter. However, the omission of the preview-to-commit workflow leaves a meaningful behavioral hole for an agent deciding how to act on this result.

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 coverage is 0% for the single playlist_id parameter, so the description must carry the semantic load; it partially does by implying the id must reference an owned playlist. Beyond that constraint it adds no format or identification detail, but with only one self-evident parameter the gap is minor.

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 verb (preview changing) and resource (playlist to public visibility) with a scope qualifier (owned playlist). An agent can tell what it does, but nothing distinguishes it from the near-identical sibling tidal_preview_set_playlist_private, which only differs by the target visibility state.

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

Usage Guidelines2/5

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

No when-to-use guidance is given. Crucially, it never explains the preview/commit lifecycle that its name and the many sibling tidal_preview_* tools and tidal_commit_action imply - an agent cannot tell whether this stages a pending change or performs it immediately, nor when to prefer the private variant.

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

tidal_preview_unfavorite_albumPreview removing a favorite albumC

Preview removing one album from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true) leave the preview/commit semantics unexplained, and the description adds nothing: it does not say whether the album is actually removed, whether a token is returned, or how the change is applied. There is mild tension between 'Preview' wording and readOnlyHint=false, but it is not a clear contradiction since previews often flow into a commit.

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?

A single, front-loaded sentence with zero filler. It is appropriately tight, though the brevity is partly a symptom of under-specification rather than deliberate economy.

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

Completeness2/5

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

Although an output schema exists (so return values need not be detailed), the description omits the critical preview-then-commit workflow that defines this whole family of tools. For a mutation-adjacent preview tool surrounded by commit siblings, this leaves a significant gap.

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

Parameters2/5

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

There is a single parameter (album_id) with 0% schema description coverage and no constraint detail in the description. The description does not state the expected format (numeric TIDAL ID vs. string) or where to obtain it, leaving the one required input effectively undocumented.

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 ('Preview removing') and resource ('one album from My Collection'), which is enough to distinguish it from the sibling tidal_preview_unfavorite_track/artist/playlist/video/mix tools. However, it never explains what 'preview' actually produces, so the purpose is clear at the surface but shallow.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of how it relates to tidal_commit_action or the commit tools, and no exclusions. An agent cannot tell from the description that a preview must be followed by a commit to take effect.

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

tidal_preview_unfavorite_artistPreview removing a favorite artistB

Preview removing one artist from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
artist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the scope (one artist, My Collection) and does not clarify what a "preview" actually does — whether it stages a pending action, whether it has any real side effect, or how the pending result is later applied — which is the key behavioral unknown here.

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?

A single short sentence with the operation front-loaded and no redundant wording. It is efficient, though the extreme brevity leaves specification gaps that a slightly longer sentence could have closed.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description omits the critical preview-to-commit workflow context that an agent needs in order to use this tool correctly. For a tool in a preview/commit pair with 100+ siblings, that omission is a real completeness gap.

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 0% for the single artist_id parameter, so the description has to carry the load. "One artist" correctly implies a single required identifier, but no format or source constraint (e.g., must come from tidal_list_favorite_artists) is given; it partially but not fully compensates.

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 names a specific verb ("Preview removing") and resource ("one artist from My Collection"), so an agent can distinguish it from the favorite/remove-tracks siblings. It stops short of explicitly naming sibling tools or the commit counterpart, so it does not fully differentiate within the large preview/commit family.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the tidal_commit_action step that this preview workflow presumably feeds into. Nothing tells the agent when this tool is appropriate versus tidal_preview_unfavorite_track or the many other preview_* siblings.

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

tidal_preview_unfavorite_mixPreview removing a favorite mixC

Preview removing one or more mixes from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
mix_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only 'one or more' and 'My Collection' — it never explains that this is a dry-run that changes nothing until committed, nor what the preview result contains, so it adds little behavioral context beyond the title.

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?

A single tight sentence, front-loaded with the operation, with no filler. It is concise to the point of under-specification, but structurally clean.

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

Completeness2/5

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

An output schema exists, so return values need not be described. However, for a preview tool in a preview/commit pipeline, the missing link to tidal_commit_action and the undocumented mix_ids format leave the agent without what it needs to actually use the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0% for the single mix_ids array. The phrase 'one or more mixes' only echoes the schema's minItems=1; it does not document the 500-item maximum, the expected ID format, or whether these are TIDAL mix IDs.

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+resource: 'Preview removing ... mixes from My Collection.' The resource (mixes) distinguishes it from the sibling preview_unfavorite_track/album/artist/playlist/video tools, so an agent can route correctly. It stops short of explaining what a 'preview' produces, which keeps it from a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and, critically, no mention that a preview must be followed by tidal_commit_action to take effect — the single most important usage fact for this tool family. The agent is left to infer the preview/commit workflow from the name alone.

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

tidal_preview_unfavorite_playlistPreview removing a favorite playlistB

Preview removing one or more playlists from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered and the "Preview" wording is consistent with a staged, non-destructive dry run. The description adds the multi-playlist scope but never explains that the action is staged and must be committed separately, nor that it affects the user's collection state. No contradiction with annotations.

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?

A single, tight sentence with the action front-loaded and zero filler. It is well sized, though it omits the workflow context that would have earned a top score.

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

Completeness2/5

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

An output schema exists, so return shape need not be described. But for a staged mutation in a preview/commit family, the description leaves the commit step and the effect on My Collection entirely unexplained, which is the key thing an agent must know here.

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?

Description conveys "one or more playlists," which matches the required playlist_ids array and its minItems/maxItems multiplicity. With 0% schema description coverage, it does not clarify ID format (TIDAL numeric vs. UUID) or the 500-item cap, so it only partly compensates.

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+resource ("removing ... playlists from My Collection") with scope ("one or more"), distinguishing it from the non-preview deletion siblings. It does not, however, name or contrast with the actual mutation/commit sibling that would carry the change out.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, no mention of the alternatives it pairs with. For a tool named "preview" inside a family that also has commit tools, the absence of any statement about when to preview vs. when to commit is a real gap.

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

tidal_preview_unfavorite_trackPreview removing a favorite trackC

Preview removing one track from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, but the description adds nothing about the one behavior that matters most here: whether previewing changes any state. 'Preview' implies a non-mutating dry run, which sits in tension with readOnlyHint=false and leaves an agent unable to determine what actually happens on call. No mention of auth requirements or the required follow-up commit.

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?

A single front-loaded sentence with no filler. Its brevity is efficient, though it arguably under-serves a tool whose semantics need explaining.

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

Completeness2/5

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

An output schema exists, so return values need not be described. But for a preview tool in a preview/commit architecture, the essential context — that this does not persist the removal and requires a separate commit — is entirely absent, making the definition incomplete for correct invocation.

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 0%, so the schema provides no meaning for track_id. The description only implies 'one track' is identified; it does not state the ID format, source (e.g., from tidal_list_favorite_tracks), or bounds. For a single, self-evidently named parameter the baseline of 3 is appropriate, but it could do more.

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+resource: 'preview removing' a 'track'. The scope 'My Collection' implicitly distinguishes it from playlist-removal siblings like tidal_preview_remove_playlist_item_by_id. However, it does not explicitly name the counterpart sibling (tidal_preview_favorite_track) or clarify that 'removing from My Collection' means unfavoriting rather than deleting the track itself.

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

Usage Guidelines2/5

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

No when-to-use guidance. Critically, the description never mentions the preview/commit workflow (sibling tidal_commit_action exists), so an agent gets no signal that this tool is a dry-run step and must be followed by a commit to actually apply the change. No exclusions or alternatives are given.

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

tidal_preview_unfavorite_videoPreview removing a favorite videoB

Preview removing one video from My Collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionYes
payloadYes
previewYes
next_stepYes
created_atYes
expires_atYes
destructiveYes
approval_tokenYes
writes_enabledYes

TDQS

B3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is partly given. The word 'Preview' usefully signals that nothing is committed yet, but the description omits how the staged action is applied, whether it expires, and what state it leaves behind.

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?

A single front-loaded sentence with no filler. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined concision.

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?

An output schema exists so return values need not be explained. Still, for a non-read-only tool embedded in a large preview/commit family, the missing explanation of the staging workflow and the undocumented required parameter leave meaningful gaps.

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

Parameters2/5

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

Schema description coverage is 0% and the single video_id parameter is documented nowhere. The description says 'one video' but adds no format, source, or validity information to compensate for the missing schema description.

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+resource: preview removing one video from My Collection, which cleanly distinguishes it from tidal_preview_favorite_video. However it never explains what 'preview' means operationally (a staged action awaiting tidal_commit_action), which is the key differentiator in this family.

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

Usage Guidelines2/5

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

No when-to-use guidance at all. It does not say that this only stages a change and that tidal_commit_action (or the commit_* siblings) must be called to apply it, nor when to prefer this over any alternative. The agent must infer the preview/commit workflow from sibling names alone.

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

tidal_recommend_tracksRecommend TIDAL tracksA
Read-only

Get Track Radio candidates, deduplicate them, and apply deterministic metadata filters.

Mood or acoustic character are not claimed as API-level filters. The returned metadata can be assessed by the calling model, while year, duration, explicitness, exclusions, and per-artist diversity are enforced here.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNo
max_resultsNo
limit_per_seedNo
seed_track_idsYesOne to ten exact TIDAL track IDs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
filtersYes
returned_countYes
seed_track_idsYes
candidate_countYes
filtered_out_countYes

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds behavior beyond them: deduplication, deterministic metadata filters, explicit non-support for mood/acoustic API filters, and which dimensions are enforced (year, duration, explicitness, exclusions, per-artist diversity). This discloses the tool's processing contract.

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?

Three tight sentences with the tool action front-loaded and no filler; each sentence adds distinct information (what it does, what is not filterable, what is enforced).

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?

Output schema exists, so return values need not be described, and annotations cover read-only/open-world status. However, for a 4-parameter recommendation tool with nested filters, the description omits guidance on seed count, result limits, and per-seed limits, leaving the agent to infer practical call sizing from the schema alone.

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 coverage is only 25%, and the description names broad categories of enforced filters (year, duration, explicitness, exclusions, diversity) that correspond to some filter properties, but it does not explain top-level max_results, limit_per_seed, or seed_track_ids behavior beyond the one schema description. It partially compensates but leaves important controls undocumented.

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 chain ('Get ... deduplicate ... apply filters') and resource (Track Radio candidates), and notes that deterministic filtering is applied here. It does not explicitly name siblings like tidal_get_track_radio or tidal_get_track_radio_mix to differentiate, so not a 5.

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?

Gives context about what filters are enforced and what is left to the calling model's assessment, which implies use when deterministic metadata filtering is needed. But it does not state when to choose this over tidal_get_track_radio, tidal_get_track_radio_mix, or search, and no when-not alternative is named.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 112 tool updatesv1.0.1
    • First observedtidal_auth_status
    • First observedtidal_browse_explore
    • First observedtidal_browse_for_you
    • First observedtidal_browse_genres
    • First observedtidal_browse_hires
    • First observedtidal_browse_home
    • First observedtidal_browse_local_genres
    • First observedtidal_browse_mixes
    • First observedtidal_browse_moods
    • First observedtidal_browse_videos
    • First observedtidal_commit_action
    • First observedtidal_commit_create_playlist
    • First observedtidal_get_album
    • First observedtidal_get_album_audio_resolution
    • First observedtidal_get_album_image
    • First observedtidal_get_album_items
    • First observedtidal_get_album_page
    • First observedtidal_get_album_review
    • First observedtidal_get_album_similar
    • First observedtidal_get_album_tracks
    • First observedtidal_get_album_video
    • First observedtidal_get_albums_by_barcode
    • First observedtidal_get_artist
    • First observedtidal_get_artist_albums
    • First observedtidal_get_artist_bio
    • First observedtidal_get_artist_ep_singles
    • First observedtidal_get_artist_image
    • First observedtidal_get_artist_other_albums
    • First observedtidal_get_artist_page
    • First observedtidal_get_artist_radio
    • First observedtidal_get_artist_radio_mix
    • First observedtidal_get_artist_similar
    • First observedtidal_get_artist_top_tracks
    • First observedtidal_get_artist_videos
    • First observedtidal_get_favorite_counts
    • First observedtidal_get_folder
    • First observedtidal_get_genre_items
    • First observedtidal_get_mix
    • First observedtidal_get_mix_image
    • First observedtidal_get_mix_items
    • First observedtidal_get_mix_v2
    • First observedtidal_get_mix_v2_image
    • First observedtidal_get_playlist
    • First observedtidal_get_playlist_image
    • First observedtidal_get_playlist_item_count
    • First observedtidal_get_playlist_items
    • First observedtidal_get_playlist_track_count
    • First observedtidal_get_playlist_tracks
    • First observedtidal_get_playlist_wide_image
    • First observedtidal_get_track
    • First observedtidal_get_track_audio_resolution
    • First observedtidal_get_track_lyrics
    • First observedtidal_get_track_playback_info
    • First observedtidal_get_track_radio
    • First observedtidal_get_track_radio_mix
    • First observedtidal_get_track_url
    • First observedtidal_get_tracks_by_isrc
    • First observedtidal_get_user
    • First observedtidal_get_user_image
    • First observedtidal_get_video
    • First observedtidal_get_video_image
    • First observedtidal_get_video_url
    • First observedtidal_list_favorite_albums
    • First observedtidal_list_favorite_artists
    • First observedtidal_list_favorite_mixes
    • First observedtidal_list_favorite_playlists
    • First observedtidal_list_favorite_tracks
    • First observedtidal_list_favorite_videos
    • First observedtidal_list_folder_items
    • First observedtidal_list_genres
    • First observedtidal_list_playlist_folders
    • First observedtidal_list_playlists
    • First observedtidal_list_playlists_and_favorites
    • First observedtidal_list_public_playlists
    • First observedtidal_preview_add_items_to_folder
    • First observedtidal_preview_add_track_by_isrc_to_playlist
    • First observedtidal_preview_add_tracks_to_playlist
    • First observedtidal_preview_clear_playlist
    • First observedtidal_preview_create_folder
    • First observedtidal_preview_create_playlist
    • First observedtidal_preview_delete_folder
    • First observedtidal_preview_delete_playlist
    • First observedtidal_preview_edit_playlist
    • First observedtidal_preview_favorite_album
    • First observedtidal_preview_favorite_artist
    • First observedtidal_preview_favorite_mix
    • First observedtidal_preview_favorite_playlist
    • First observedtidal_preview_favorite_track
    • First observedtidal_preview_favorite_track_by_isrc
    • First observedtidal_preview_favorite_video
    • First observedtidal_preview_merge_playlist
    • First observedtidal_preview_move_items_to_folder
    • First observedtidal_preview_move_items_to_root
    • First observedtidal_preview_move_playlist_item_by_id
    • First observedtidal_preview_move_playlist_item_by_index
    • First observedtidal_preview_move_playlist_items_by_indices
    • First observedtidal_preview_remove_folder_items
    • First observedtidal_preview_remove_playlist_item_by_id
    • First observedtidal_preview_remove_playlist_item_by_index
    • First observedtidal_preview_remove_playlist_items_by_ids
    • First observedtidal_preview_remove_playlist_items_by_indices
    • First observedtidal_preview_rename_folder
    • First observedtidal_preview_set_playlist_private
    • First observedtidal_preview_set_playlist_public
    • First observedtidal_preview_unfavorite_album
    • First observedtidal_preview_unfavorite_artist
    • First observedtidal_preview_unfavorite_mix
    • First observedtidal_preview_unfavorite_playlist
    • First observedtidal_preview_unfavorite_track
    • First observedtidal_preview_unfavorite_video
    • First observedtidal_recommend_tracks
    • First observedtidal_search

TDQS

C2.9/5.0

Scored across 112 tools

Disambiguation3/5

Many tools have closely related names (e.g., tidal_get_playlist_tracks vs tidal_get_playlist_items, tidal_list_playlists vs tidal_list_public_playlists vs tidal_list_playlists_and_favorites, tidal_get_track_playback_info vs tidal_get_track_audio_resolution). Descriptions clarify the differences, but the sheer number of similar read and preview variants creates moderate ambiguity for an agent.

Naming Consistency4/5

All tools use the tidal_ prefix and snake_case with a consistent action_verb pattern (get_, list_, browse_, preview_, commit_). Minor inconsistencies like singular/plural (add_track vs add_tracks) and version suffixes (_v2) prevent a perfect score.

Tool Count1/5

112 tools far exceeds a reasonable scope for an agent-facing toolset. Many read endpoints and the preview/commit pattern could be consolidated (e.g., generic page readers, image size parameters), making this an extreme mismatch.

Completeness4/5

The surface covers catalog browsing, playlist and folder CRUD, favorites management, playback URLs, lyrics, radio, and browse pages comprehensively. Gaps like playback control, track credits, or user profile editing are minor relative to the extensive coverage.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

  • Generate contextual prompts and reusable agent skills, evaluate prompts with the 16-dimension Prompt Score, and manage saved work in PromptDrive. Twelve MCP tools also provide authorized access to private Memory for source-grounded answers. Connect over Streamable HTTP using OAuth 2.1 and PKCE. Generation consumes account quota and automatically saves successful results; Memory access follows account permissions and plan limits.

  • Artifact store for AI agents. Hosted OAuth at mcp.artifacta.io/mcp; local stdio via npm/PyPI.

  • Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.

  • The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Bridges stdio-based LLM harnesses to OAuth-protected remote MCP servers via Streamable HTTP, handling PKCE browser login and token refresh automatically.
    9 npm
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching YouTube Music and managing playlists through read and confirmation-gated write tools over STDIO. Supports identity checks, song search, playlist listing/retrieval, and previewed playlist creation, track addition, and exact track removal.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables local stdio access to YouTube Music song search, song-radio recommendations, and creation of private playlists in a connected Google account.
    6
    MIT