Skip to main content
Glama
interfluve-wav

Rekordbox Smart MCP

Rekordbox Smart MCP

MCP Server License: MIT Node.js 18+ Tests

MCP server for DJs using Pioneer Rekordbox — 33 tools for library management, smart playlists, DJ analytics, and safe mutations with full undo capability.

This server implements the UDMS (Unified DJ Metadata Schema) principles described in the DJ Metadata Quality paper: BPM cache layers, Camelot key normalization, and cross-platform field mapping.

See also: Bonk! — Electron+React DJ metadata editor (desktop companion app using aubio/keyfinder-cli for audio analysis).

Key advantages:

  • No Python required – works with XML exports; optional DB integration

  • Complete undo system – all mutations create timestamped backups

  • Smart setlist tools – harmonic analysis, transition suggestions, energy curves

  • Privacy-focused – no external APIs, no telemetry

  • 33 tools – comprehensive error handling, audit logging

Prerequisites

  • Node.js 18+

  • Rekordbox 6 or 7 (for DJ analytics and DB import)

  • Rekordbox XML export (File → Export → Export as XML)

  • Optional: Python 3 + pyrekordbox for direct database import

Related MCP server: Spotify Overload - More Tools (18) | More Functions | More Rocking Out

Safety First

⚠️ All mutation operations create automatic XML backups before making changes. Backups are timestamped and can be used to restore your library via mutation_rollback.

We recommend testing with a copy of your XML export before using on your main library.

Quickstart

1. Install

npm install
npm run build

2. Configure

Add to your MCP client configuration:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "rekordbox-smart-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "rekordbox-smart-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"]
    }
  }
}

3. Load Your Library

{
  "name": "library_load",
  "arguments": {
    "xmlPath": "/path/to/your/rekordbox_export.xml"
  }
}

Or set a default path in rekordbox-smart-mcp.toml and call without arguments.

4. Try It

{ "name": "library_stats", "arguments": {} }
{ "name": "library_search", "arguments": { "query": "house", "limit": 5 } }

Features

Library Management

  • Full-text search with filters (genre, BPM, key, artist, album, year, rating)

  • Statistics, duplicate detection, missing file finder

  • Fuzzy search, harmonic key search

  • JSON export

Track Operations

  • Get detailed metadata

  • Single or batch updates (with automatic backups)

  • Playlist membership queries

Playlist Management

  • Create, rename, delete playlists

  • Add/remove tracks (add or replace modes)

Smart Setlist Tools

  • playlist_buildSmart – build playlists using energy curves, BPM ranges, key progression smoothing, artist diversity

  • setlist_analyze – comprehensive analysis (harmonic compatibility, BPM gaps, genre/artist diversity, recommendations)

  • setlist_suggestTransitions – AI-driven transition suggestions with mix tips and compatibility scoring

Rekordbox Integration

  • Import/export via XML

  • Direct database sync (requires pyrekordbox)

DJ Analytics

  • Recent sessions, session tracks

  • History stats, play count rankings

  • Listening patterns (BPM, genres, keys)

Safety & Undo

  • mutation_history – query audit log with filters

  • mutation_rollback – restore from any backup (creates pre-rollback backup)

  • All mutations logged to audit/bonk-mutations.jsonl

Configuration

Create rekordbox-smart-mcp.toml in your working directory, ~/.config/, or ~:

[library]
xml_path = "~/rekordbox/export.xml"

[rekordbox]
db_path = "~/Library/Pioneer/rekordbox/master.db"
auto_detect = true

[cache]
db_path = "~/.bonk/media-cache.db"

If rekordbox.db_path is not set, the server auto-detects the platform-specific location (macOS, Windows, Linux).

Safety and Undo

All mutations create automatic XML backups in the working directory. Backup pattern: bonk-backup-YYYY-MM-DDTHH-MM-SS-ffffff.xml.

Undo workflow:

  1. List recent mutations:

{ "name": "mutation_history", "arguments": { "limit": 10 } }
  1. Preview rollback (dry run):

{
  "name": "mutation_rollback",
  "arguments": { "mutationId": "2026-04-07T09-03-07-724Z", "dryRun": true }
}
  1. Execute rollback:

{
  "name": "mutation_rollback",
  "arguments": { "mutationId": "2026-04-07T09-03-07-724Z", "dryRun": false }
}

Rollback creates a pre-rollback backup and logs itself as a new mutation, providing an undo chain.

Tool Reference

Library (9 tools)

library_search, library_stats, library_listPlaylists, library_load, library_findMissing, library_findDuplicates, library_fuzzySearch, search_keyCompatible, library_exportJSON

Track (4 tools)

track_get, track_update, track_playlists, track_updateBatch

Playlist (5 tools)

playlist_create, playlist_addTracks, playlist_removeTracks, playlist_delete, playlist_rename

Smart Setlist (3 tools)

playlist_buildSmart, setlist_analyze, setlist_suggestTransitions

Rekordbox (3 tools)

rekordbox_sync, rekordbox_importXml, rekordbox_exportXml

DJ Analytics (5 tools)

dj_getRecentSessions, dj_getSessionTracks, dj_getHistoryStats, dj_getPlayCountAnalytics, dj_getListeningPatterns

Audio (2 tools)

audio_bpmGetCached, audio_bpmCacheSet

Safety (2 tools)

mutation_history, mutation_rollback

Total: 33 canonical tools

Requirements

  • Node.js 18+

  • better-sqlite3 (native module – rebuilt automatically on install)

  • Optional: Python 3 + pyrekordbox for Rekordbox DB import

Limitations

  • Library is in-memory; must load XML or import DB on each server start

  • Cache persists via ~/.bonk/library-state.json

  • DJ analytics require Rekordbox database access

  • Rollback only works if backup file still exists

  • Setlist tools operate on in-memory state (export to persist)

Disclaimer

rekordbox-smart-mcp is not affiliated with, endorsed by, or connected to Pioneer DJ, AlphaTheta Corporation, or Rekordbox in any way. This is an independent, unofficial tool that works with Rekordbox XML exports and database files. Use at your own risk. Always keep backups of your original library data.

License

MIT

Available Tools

33 tools
audio_bpmCacheSetC

Store BPM analysis in cache for an audio file.

ParametersJSON Schema
NameRequiredDescriptionDefault
bpmYes
sourceYes
filePathYes
confidenceNo
analyzerVersionNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only says 'store' but doesn't disclose whether it overwrites existing cache entries, any required permissions, or what happens on failure. The behavioral traits are largely 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?

The one-sentence description is efficient and front-loaded, with zero filler. However, it is slightly under-specified, but the length itself is reasonable for a simple cache set operation.

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

Completeness1/5

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

Given the tool has 5 parameters, no annotations, no output schema, and 0% schema coverage, the description is completely insufficient. It provides only a high-level purpose and omits essential context about parameter meanings, typical usage, and return behavior.

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 adds no meaning to the parameters. It doesn't explain 'source', 'confidence', 'analyzerVersion', or their relationship. The agent receives only parameter names and types with no elaboration.

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

Purpose5/5

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

The description clearly states 'Store BPM analysis in cache for an audio file' with a specific verb and resource. It distinguishes itself from the sibling tool 'audio_bpmGetCached' by indicating a write operation to cache.

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 is given on when to use this tool versus alternatives like the getter. It doesn't mention typical workflows, prerequisites (e.g., file must exist), or when not to use it.

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

audio_bpmGetCachedC

Get cached BPM analysis for an audio file.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior itself. It states 'cached' but does not explain what happens on a cache miss (e.g., error, null, automatic computation), whether the operation is read-only, or if any side effects occur. This leaves significant ambiguity for a read operation.

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, front-loaded sentence with no filler. It directly and efficiently states the core action and target, making it highly concise for its simplicity.

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

Completeness1/5

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

The tool has no output schema, no annotations, and an extremely sparse description. It does not cover return values, cache-miss behavior, error cases, or performance implications. For a tool with one parameter and no other structural attributes, this description is insufficient 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 should compensate. The sole parameter filePath is left entirely to its name; no format, path type, or constraints are mentioned. The description adds no semantic value beyond the schema's type declaration.

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

Purpose5/5

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

The description uses a specific verb ('Get') with a resource ('cached BPM analysis') and an object ('audio file'), making the tool's function unmistakable. It also distinguishes itself from the sibling tool audio_bpmCacheSet by emphasizing 'cached' and the getter role.

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 is provided on when to use this tool versus alternatives. It does not mention that this returns previously computed data, when a fresh analysis would be needed, or that critical alternatives such as audio_bpmCacheSet or a live analysis tool exist. The context is entirely implied.

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

dj_getHistoryStatsB

Get DJ performance statistics. Requires rekordbox.db_path configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral transparency. It only discloses the configuration prerequisite, but does not mention that the operation is read-only, what data is returned, or any side effects. This leaves the agent under-informed about the tool's 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?

The description is a single, front-loaded sentence that clearly states the action and a prerequisite. It is highly concise with no wasted words, earning perfect marks for structure and brevity.

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 absence of an output schema and the presence of sibling analytics tools, this description is too sparse. It does not explain what 'performance statistics' includes, how it relates to dj_getSessionTracks or dj_getPlayCountAnalytics, or what the returned data looks like, leaving the agent without enough context for confident selection.

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 input schema has zero parameters, so the baseline is 4 per guidelines. The description adds a relevant prerequisite about 'rekordbox.db_path configured,' which is configuration-level context rather than parameter-level semantics, but does not contradict the schema.

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

Purpose4/5

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

The description uses the specific verb 'Get' and the resource 'DJ performance statistics,' making the action clear. However, it does not explicitly distinguish from sibling tools like dj_getPlayCountAnalytics or dj_getRecentSessions, leaving the precise scope of 'performance statistics' vague.

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 provides no guidance on when to use this tool instead of the sibling DJ analytics tools. The only additional context, 'Requires rekordbox.db_path configured,' is a prerequisite, not usage guidance or alternative selection.

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

dj_getListeningPatternsA

Get listening pattern analysis: average BPM, dominant genres, dominant keys.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. The verb 'Get' implies a read-only operation, and the listed output fields hint at what the tool returns, but it does not explicitly state whether it modifies data, requires authentication, or relies on cached data. It provides minimal but not comprehensive transparency.

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, front-loaded sentence that directly states the purpose and outputs. Every word earns its place, with no redundancy or filler.

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 zero-parameter read tool without an output schema, the description sufficiently conveys the main return values (average BPM, dominant genres, dominant keys). It lacks details about data source or format, but given the simplicity, it is nearly complete. Some guidance against sibling tools would have made it fully complete.

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 schema to elaborate. The description correctly omits parameter details, and the baseline score of 4 applies for parameter-free tools.

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

Purpose5/5

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

The description clearly identifies the action ('Get') and the resource ('listening pattern analysis'), and specifies the exact outputs (average BPM, dominant genres, dominant keys). This distinguishes it from sibling tools like dj_getRecentSessions or dj_getHistoryStats, which focus on different analytical aspects.

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. It does not mention suitable contexts, exclusions, or comparative hints against the many sibling DJ analytics tools. While the name suggests a specific use, the description lacks explicit usage direction.

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

dj_getPlayCountAnalyticsB

Get play count analytics for tracks from Rekordbox history.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action (Get play count analytics) but does not mention the return format, whether it is read-only, any rate limits, or prerequisites like having history data available. The 'Get' verb implies a read operation, but this is not explicit.

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, clear sentence with no filler, repetition, or unnecessary words. It is front-loaded with the verb and object, making it easy to parse quickly.

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?

Despite having no parameters, the description is incomplete because it does not explain what 'play count analytics' returns. Without an output schema, an agent cannot know whether results are aggregates, per-track counts, date-bounded, or structured in any particular way. This ambiguity significantly hinders correct usage.

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 input schema has zero parameters, so the baseline score is 4. The description adds no parameter details, but no parameters exist, and schema coverage is trivially complete. There is nothing missing for an agent to understand about parameters.

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

Purpose5/5

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

The description uses a specific verb ('Get') and clearly identifies the resource ('play count analytics for tracks') and source ('Rekordbox history'). This distinguishes it from sibling tools like dj_getHistoryStats and dj_getListeningPatterns, which have broader or different focuses.

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 is provided on when to use this tool versus alternatives. There is no mention of preconditions, exclusions, or scenarios where another tool would be more appropriate, so an agent has no context for tool selection.

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

dj_getRecentSessionsA

Get recent DJ sessions from Rekordbox history. Requires rekordbox.db_path configured.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must explain behavior. It discloses the configuration requirement (db_path) and the data source, but does not describe return format, error handling, or whether it is read-only (implied by 'get'). This is partial disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler; the verb and resource appear immediately. The prerequisite sentence adds necessary context.

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 description is acceptable for a simple read tool but omits the meaning of the 'days' parameter and the structure of returned data. There is no output schema, so these gaps leave the agent to infer.

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 has one parameter 'days' with no description, and the description does not mention it. With 0% schema description coverage, the description fails to compensate by explaining what 'days' controls or how it relates to 'recent'.

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

Purpose5/5

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

The description clearly states a specific verb ('Get'), resource ('recent DJ sessions'), and source ('Rekordbox history'), which differentiates it from sibling tools like dj_getSessionTracks (which retrieves tracks within sessions) and dj_getHistoryStats (which computes statistics).

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 gives a prerequisite ('Requires rekordbox.db_path configured') but does not explicitly state when to use this over alternatives such as dj_getHistoryStats or dj_getSessionTracks. Usage must be inferred from the tool name and sibling names.

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

dj_getSessionTracksB

Get tracks played in a specific DJ session.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states the basic action. It omits details on output format, ordering, pagination, error behavior, or required permissions.

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 sentence with no fluff, front-loading the key action and resource. It is easy to scan and contains no redundant 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 no annotations and no output schema, the description should explain return values and caveats. It only states the purpose, leaving the agent without enough context to predict the tool's full behavior.

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 has one parameter (sessionId) with zero coverage from the description. The description adds no meaning beyond the parameter name, leaving the agent to guess what value to provide or how to obtain it.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('tracks played in a specific DJ session'), clearly distinguishing it from sibling tools that handle sessions, stats, or playlists. It directly states what the tool returns.

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 provides no explicit guidance on when to use this tool versus alternatives like dj_getRecentSessions or dj_getHistoryStats. The need for a sessionId is implied but not stated, and no prerequisites or exclusions are mentioned.

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

library_exportJSONC

Export loaded library tracks and playlists to JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputPathNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states the basic action without revealing whether the JSON is written to a file (though outputPath suggests so), whether files are overwritten, what happens if the library is not loaded, or any other side effects. This is minimal disclosure.

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, tightly worded sentence with no filler or redundant information. Every word contributes to conveying the core purpose and output format.

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?

Despite the tool's low complexity, the description lacks essential context. There is no mention of return values or output behavior, no explicit prerequisite (like library_load), and no parameter documentation. The absence of an output schema and annotations increases the need for descriptive detail, which is 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?

The input schema has one parameter (outputPath) with 0% schema description coverage. The description does not mention or elaborate on this parameter at all, providing no guidance on path format, required vs optional usage, or default behavior. Since schema coverage is low, the description must compensate but fails to do so.

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

Purpose5/5

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

The description clearly states the tool's function: exporting loaded library tracks and playlists to JSON. It uses a specific verb ('Export'), identifies the resource ('loaded library tracks and playlists'), and specifies the output format. This distinguishes it from sibling tools like library_search or rekordbox_exportXml.

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 is provided on when to use this tool instead of alternatives, nor are prerequisites or exclusions mentioned. The phrase 'loaded library' implies a prerequisite state but does not explicitly state that library_load must be called first. There is no comparison to sibling tools.

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

library_findDuplicatesA

Find potential duplicate tracks by file location and by artist+title.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

The term 'potential' indicates non-definitive results, and the criteria (file location, artist+title) are disclosed. However, there is no mention of output format, grouping behavior, or limitations. With no annotations available, the description carries the full burden but only partially fulfills it.

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, concise sentence that front-loads the purpose ('Find potential duplicate tracks') and immediately specifies the criteria. No unnecessary words.

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?

Given zero parameters, no annotations, and no output schema, the description provides a clear and reasonably complete picture. It explains what the tool does and the criteria used, though it could mention what the result looks like (e.g., grouped duplicates) to be fully complete.

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 has zero parameters, so the baseline is 4. The description adds context by revealing the internal logic (matching on file location and artist+title), which is useful beyond the empty schema.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb and resource: 'Find potential duplicate tracks'. It also specifies two distinct methods (file location and artist+title), distinguishing it from sibling tools like library_findMissing and library_search.

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 usage for duplicate detection but provides no explicit guidance on when to prefer this tool over alternatives like library_search or library_fuzzySearch. No exclusions or alternative tools are mentioned, so the usage context is only implied.

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

library_findMissingB

Find tracks whose file paths are missing on disk.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It implies a read-only operation but does not disclose return format, performance implications, or any potential limitations. The behavior is minimally transparent beyond the basic find operation.

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, clear sentence with no wasted words. It effectively front-loads the core purpose and is appropriately sized for a tool of this simplicity.

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?

Given there are no params and no output schema, the description provides minimal but adequate context. It lacks any mention of return values or edge cases, but for a simple find operation it is sufficient, though clear gaps remain.

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 has zero parameters, and the input schema is empty, so there is no parameter information to clarify. The description adds no param-related semantics, but the baseline for 0 parameters is 4, which appropriately reflects that no additional context is needed.

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 clearly states a specific action ('Find') on a specific resource ('tracks whose file paths are missing on disk'). It is distinct from siblings by its unique scope, but it does not explicitly reference alternative tools or differentiate itself from similar library_ tools.

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 is provided on when to use this tool versus alternatives. The description only states what it does, leaving context and prerequisites unmentioned.

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

library_fuzzySearchC

Fuzzy-search tracks by title/artist/album/genre.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It only states the search fields and fuzzy nature, with no details on result ordering, matching behavior, or side effects. Minimal context beyond the tool's name.

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?

Single, efficient sentence with no redundant words, clearly front-loaded and to the point.

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 no output schema and no parameter descriptions, this one-sentence description is insufficient for an agent to understand return values, pagination, or how limit affects results. Under-specified for a search tool.

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 has 0% description coverage for parameters. Description does not mention the 'query' parameter's expected format or the 'limit' parameter's behavior. Agent must infer from names alone.

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?

Description clearly states a specific verb (fuzzy-search) and resource (tracks) with relevant fields (title/artist/album/genre). It distinguishes from sibling tools like library_search and search_keyCompatible.

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 provided on when to use fuzzy search vs exact search (library_search) or key-compatible search. No mention of alternatives or exclusions.

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

library_listPlaylistsA

List all playlists in the library with their track counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It indicates a read-only listing operation and specifies the output includes track counts, but does not mention ordering, pagination, or potential performance considerations. It is adequate but lacks depth.

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, front-loaded sentence that conveys the full purpose without any wasted words. It is appropriately concise.

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 list-all tool with no parameters, no output schema, and no annotations, the description sufficiently covers the essential behavior and return information (track counts). It does not need to elaborate on edge cases or complex behaviors.

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 has zero parameters, so the baseline is 4. The description correctly implies no additional argument information is needed, and the schema coverage is vacuously complete.

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

Purpose5/5

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

The description clearly states a specific verb ('List') and resource ('all playlists in the library'), and adds useful detail ('with their track counts'). It distinguishes itself from sibling tools like library_search (search) and library_stats (stats) by focusing on listing playlists.

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 provides no explicit guidance on when to use this tool versus alternatives. While the name and description imply its use for simply listing playlists, there is no mention of exclusions or when another tool (e.g., library_stats) might be more appropriate.

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

library_loadA

Load a Rekordbox XML file into the library. If xmlPath is omitted, uses the default path set via library_setDefaultPath. Creates a backup before loading.

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlPathNo

TDQS

A3.7/5.0
Behavior3/5

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

There are no annotations provided, so the description carries the full burden. It discloses that a backup is created before loading and explains the default path behavior, which is valuable. However, it does not mention whether loading replaces the existing library, merges, or has other side effects, leaving gaps in transparency.

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 two sentences with no redundant information. It front-loads the primary purpose and then adds relevant behavior details, making every sentence earn its place.

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 one-parameter tool, the description covers the essential context: what it loads, the parameter's optionality, and the backup behavior. It does not explain the difference from the similarly scoped rekordbox_importXml sibling, which prevents a perfect score, but overall it is reasonably complete for a tool with no output schema.

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 input schema has one parameter, xmlPath, with zero schema description. The description compensates by explaining that omitting xmlPath uses a default path set via library_setDefaultPath, adding meaningful semantics beyond the schema. It does not specify the path format, but the core behavior is covered.

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 clearly states 'Load a Rekordbox XML file into the library,' which is a specific verb+resource combination. However, it does not differentiate itself from the sibling tool rekordbox_importXml, which may serve a similar purpose.

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 gives useful context about the optional xmlPath and the default path behavior, implying when the tool can be used. But it does not explicitly state when to use this tool versus alternatives like rekordbox_importXml, nor does it provide any exclusions.

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

library_statsB

Get statistics about the loaded library: track count, genre distribution, BPM range, key distribution.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It explicitly says 'Get statistics,' indicating a read-only operation, and enumerates the outputs, but does not disclose behaviors like error handling when no library is loaded, performance implications, or whether the stats are computed on the fly. This is a basic transparency level but not comprehensive.

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 immediately states the tool's purpose and then lists the specific statistics. Every word earns its place, with 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?

For a simple no-parameter tool, the description lists the output categories, but the lack of usage context (e.g., when to choose this over sibling analytics tools) and missing behavioral details (e.g., reliance on a loaded library) leave gaps. The output format is not described, but the listed stats provide a reasonable mental model.

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 description does not need to add parameter-level details. The description focuses on what statistics are returned, which is the salient semantic information for this parameterless tool.

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 clearly states 'Get statistics about the loaded library' with a specific verb and resource, and lists the exact types of statistics (track count, genre distribution, BPM range, key distribution). This distinguishes it from session-history siblings like dj_getHistoryStats and dj_getPlayCountAnalytics, though it doesn't explicitly name 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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., library must be loaded) or exclusions. The description implies a read-only overview, but does not help the agent decide between library_stats and other statistics tools.

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

mutation_historyA

List recent mutations from the audit log. Optional filters: limit (default 50), tool, since (ISO timestamp).

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNo
limitNo
sinceNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It specifies the read-only nature via 'list', details optional filters, notes the default limit, and clarifies the 'since' parameter as an ISO timestamp. This provides useful behavioral context beyond the schema.

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 sentence, front-loaded with the primary purpose and followed by concise filter details. Every word adds value without redundancy.

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 tool with three optional params and no output schema, the description provides adequate context. It covers purpose, filters, and default behavior, though it lacks explicit return format or pagination details, which would be nice but not critical for this simplicity.

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 compensates by naming all three parameters and providing essential semantics: 'limit' with a default of 50, 'tool' as a filter, and 'since' as an ISO timestamp. This adds meaning beyond the schema's type-only definitions.

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

Purpose5/5

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

The description clearly states the tool lists recent mutations from the audit log, using a specific verb and resource. It distinguishes itself from siblings like 'mutation_rollback' by focusing on listing history rather than performing actions.

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 usage for viewing audit log entries but does not explicitly state when to use it over alternatives or provide exclusions. No mention of relationships to other audit-related tools like 'mutation_rollback'.

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

mutation_rollbackA

Rollback a mutation by its timestamp ID. Creates a pre-rollback backup. Set dryRun=true to preview without applying.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNo
mutationIdYesTimestamp of the mutation to rollback

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses a significant side effect ('Creates a pre-rollback backup') and a safe preview mode (dryRun). However, it does not mention reversibility, error behavior, or what happens to the backup, leaving gaps in full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the core action, the second provides a key behavioral detail (backup + dryRun). No fluff, front-loaded, every word earns its place.

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?

Given the tool's simplicity (2 params, no output schema, no annotations), the description covers the essential purpose, the parameter semantics, and a safety feature. It does not explain the return value or post-rollback behavior, but for a quick action tool this is acceptable and nearly complete.

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 schema describes mutationId as 'Timestamp of the mutation to rollback' but does not describe dryRun beyond type/default. The description adds meaning to dryRun ('Set dryRun=true to preview without applying') and reinforces mutationId semantics. Schema coverage is 50%, and the description compensates for the undocumented parameter.

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

Purpose5/5

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

The description states a specific verb ('Rollback') and resource ('a mutation') with the identifier type ('timestamp ID'). It clearly distinguishes from sibling tools like mutation_history, which lists mutations but does not roll them back.

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?

It gives a usage tip (dryRun=true for preview) but does not explicitly say when to use this tool versus alternatives, nor mention exclusions. Usage is implied by the purpose and unique action among siblings.

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

playlist_addTracksC

Add tracks to a playlist. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoadd
trackIdsYes
playlistNameYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does disclose that an automatic backup is created, which is a positive safety signal, but it fails to explain the potentially destructive 'replace' mode, whether existing tracks are removed, or how backup restoration works. This is a significant behavioral ambiguity for a mutation tool.

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 extremely compact—two short sentences that immediately convey the primary action. No unnecessary words or repetition exist.

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 tool with 3 parameters, a replace mode, no annotations, and no output schema, the description is noticeably under-specified. It leaves critical behavioral details about replacement, backup, and error handling unstated. The backup mention is a small positive, but overall the description does not sufficiently equip an agent 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 coverage is 0%, so the description needed to compensate but did not. It offers no explanation of playlistName, trackIds, or mode beyond what the schema already shows. The mode parameter's enum values (add/replace) are left entirely unexplained, meaning the agent cannot infer the behavioral difference from 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?

The description uses a clear verb+resource pattern ('Add tracks to a playlist') and is distinct from sibling playlist tools like playlist_removeTracks, playlist_delete, etc. However, it omits the 'replace' mode supported by the schema, so the description slightly under-represents the tool's full capability.

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 usage guidance is provided. The description does not explain when to use this tool versus playlist_removeTracks or playlist_create, nor does it mention any preconditions or scenarios where replace mode might be appropriate.

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

playlist_buildSmartB

Create a playlist using smart composition rules (energy curve, key progression, BPM range, artist diversity). Creates backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
rulesYes
playlistNameYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must shoulder the burden of disclosing side effects. It mentions 'Creates backup' but does not explain what the backup covers, whether existing playlists are overwritten, or any required preconditions. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the primary action front-loaded. Every word adds value; no redundancy or filler.

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 tool has a complex nested object, no output schema, and no annotations. The description omits return behavior, prerequisites, and thorough parameter guidance, leaving important context gaps for a mutation tool. It is not completely inadequate but clearly below a fully specified description.

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 several rule parameters (energy curve, key progression, BPM range, artist diversity) but does not explain playlistName or other nested fields like max_tracks, include/exclude_tracks, preferred_genres, or min_duration_minutes. Partial compensation, but incomplete.

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

Purpose5/5

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

The description clearly states 'Create a playlist using smart composition rules' with specific rule types (energy curve, key progression, BPM range, artist diversity). This differentiates it from sibling tools like playlist_create or playlist_addTracks.

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 usage for algorithmic composition via 'smart composition rules' but does not explicitly state when to use this tool versus alternatives like playlist_create or playlist_addTracks. No exclusion criteria 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.

playlist_createB

Create a new playlist. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parentNameNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden. It mentions 'Creates automatic backup' as a side effect, but fails to explain what the backup entails, whether it can be restored via mutation_rollback, permissions needed, or any other behavioral implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the primary action. The backup note is additional but relevant.

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 create tool with no annotations or output schema, the description is under-specified. It omits parameter semantics, confirmation behavior, and backup details, leaving the agent uncertain about side effects and return expectations.

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 adds no insight into 'name' or 'parentName' semantics. It does not explain what parentName refers to or whether it is hierarchical.

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?

Description clearly states 'Create a new playlist' – a specific verb and resource. It distinguishes from sibling tools like playlist_delete, playlist_rename, and playlist_addTracks by being the create operation.

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?

No explicit guidance on when to use this tool versus alternatives. It is implied that it is for creating new playlists, but no context is given about prerequisites or relationships to sibling tools.

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

playlist_deleteA

Delete a playlist. DESTRUCTIVE - Creates automatic backup. Set force=true to confirm.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
playlistNameYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description appropriately warns 'DESTRUCTIVE - Creates automatic backup,' disclosing the destructive nature and the backup behavior. It also mentions the need for force=true as a confirmation step. This goes beyond the schema and provides useful safety context, though it doesn't detail what the backup entails or the exact consequence of deletion.

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 two sentences, front-loading the purpose, then the critical warning, then the actionable instruction. Every word earns its place with no fluff or repetition.

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 deletion tool with only two parameters and no output schema, the description covers the core action, the destructive flag, the backup behavior, and the confirmation mechanism. It could be more complete by mentioning what happens after deletion (e.g., success message or error conditions), but it is largely sufficient for an agent to safely invoke the tool.

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?

The schema has 0% description coverage, so the description must compensate. It explains 'force' as a confirmation flag, which adds meaning, and 'playlistName' is implicitly the target of deletion. However, it doesn't specify constraints like whether the name must exist or how the backup is managed, leaving some semantics to inference.

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

Purpose5/5

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

The description starts with 'Delete a playlist,' which is a specific verb+resource and clearly distinguishes it from sibling tools like playlist_create, playlist_rename, and playlist_addTracks. The purpose 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 Guidelines3/5

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

The instruction 'Set force=true to confirm' gives a clear condition for executing the deletion, but there is no explicit guidance on when to use this tool versus alternatives (e.g., mutation_rollback for undo) or when not to use it. The usage context is implied rather than stated.

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

playlist_removeTracksA

Remove tracks from a playlist. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdsYes
playlistNameYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the transparency burden. It discloses automatic backup creation, which is a valuable behavioral detail, but it does not mention reversibility, permission requirements, backup location, or return behavior, leaving gaps for a mutation tool.

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 two short sentences that immediately convey the core action and a key side effect. No filler or redundant information, making it highly concise and well-structured.

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 mutation tool with no annotations, no output schema, and low parameter coverage, the description is too sparse. It omits critical context such as error handling, behavior for invalid track IDs, whether the playlist must exist, and how backup recovery works, making it insufficient for confident 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 the description does not compensate by explaining parameter details. The names playlistName and trackIds are self-explanatory, but no format, constraints, or relationship between them is provided, so the description adds minimal semantic value.

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

Purpose5/5

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

The description clearly states the action ('Remove') and the target ('tracks from a playlist'), distinguishing it from sibling tools like playlist_addTracks and playlist_delete. The purpose is unambiguous and specific.

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 usage for removing specific tracks while preserving the playlist, but it does not explicitly contrast with album_delete or playlist_addTracks. No exclusions or alternative conditions are provided.

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

playlist_renameA

Rename a playlist. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
newNameYes
oldNameYes

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description discloses one behavioral trait: 'Creates automatic backup.' This is useful context, but it does not mention permissions, side effects, return values, or reversibility. It carries some burden but remains limited for a mutation tool.

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 only two short clauses, with every word earning its place. It is concise, front-loaded, and not padded with irrelevant 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?

For a simple tool with two obvious string parameters and no output schema, the description covers the core operation and adds a key detail (backup). However, it does not mention the return format or any side effects beyond backup, leaving some gaps for an agent.

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 parameters (oldName, newName) beyond their names. While the names are self-explanatory, the description adds no value to the schema, so it fails to compensate for the lack of parameter descriptions.

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

Purpose5/5

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

The description clearly states the action ('Rename a playlist') with a specific verb and resource, distinguishing it from sibling tools like playlist_create or playlist_delete. No ambiguity about what the tool does.

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 usage context (use this when you want to rename a playlist) but does not explicitly state when to use it vs alternatives, nor provide exclusions or prerequisites. The backup note adds context but not guidance.

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

rekordbox_exportXmlC

Export library to Rekordbox XML file. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputPathYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral context, but it only says 'Creates automatic backup.' This is vague and does not clarify whether existing files are overwritten, if directories are created, or if the operation is safe/read-only. The tool writes to a file system, but side effects and permissions are undisclosed.

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 concise, with two short sentences. The first states the primary action, and the second adds a useful note about backup. No filler or redundant information is present.

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 simplicity (one parameter, no output schema, no annotations), the description is incomplete. It does not mention return values, error handling, whether the backup is automatic before overwriting, or how the output path should be structured. The sibling list includes similar tools, but the description lacks sufficient detail for an agent to safely invoke it without guesswork.

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 does not explain the outputPath parameter. While the purpose implies outputPath is the destination for the XML file, it does not specify whether it is a full file path, a directory, or the expected format. The agent must infer meaning from the tool name and context.

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 clearly states the tool exports the library to a Rekordbox XML file, providing a specific verb and resource. It does not explicitly distinguish from sibling tools like rekordbox_importXml or library_exportJSON, but the format and direction (export) are clear.

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 alternatives, such as exportJSON or importXml. The description does not mention any prerequisites, exclusions, or recommended use cases beyond the basic action.

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

rekordbox_importXmlB

Import library from Rekordbox XML file. Creates backup before loading.

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlPathYes

TDQS

B3.2/5.0
Behavior2/5

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

The only disclosed behavior is that a backup is created before loading, which is useful but incomplete. The description does not state whether the import replaces or merges the existing library, nor what happens on failure. With no annotations, this is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler; the primary action is stated first and the backup detail is a useful addition without redundancy.

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 description lacks critical details about the import's effect on existing data, return values, and error handling, which is especially important given the absence of annotations and output schema.

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?

The description implies that xmlPath is the path to the Rekordbox XML file, but it does not explicitly clarify the parameter's format, required extension, or whether it accepts a local path or URL. With 0% schema coverage, this is partial compensation.

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

Purpose5/5

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

The description clearly states the tool imports a library from a Rekordbox XML file, using a specific verb and resource. The source format distinguishes it from sibling tools like library_load or rekordbox_exportXml.

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 is provided on when to use this tool versus alternatives such as library_load or rekordbox_exportXml. It does not mention prerequisites, overwrite/merge behavior, or when this tool is preferred.

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

rekordbox_syncC

Import from or export to Rekordbox. Action: "import" (from XML or DB) or "export" (to XML). Creates backup for import operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
sourceNo
destinationNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that backup is created for import operations, which is a useful safety behavior, but it omits other critical traits such as whether export overwrites files, what side effects occur on the Rekordbox database, or what the return values look like. This is insufficient for a tool that performs mutations.

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 two sentences long, front-loaded with the primary purpose, and contains no fluff. Every word earns its place, and the action values are clearly separated. This is a model of 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?

The tool has moderate complexity with three parameters and no output schema. The description provides the core function but lacks details on parameter formats, backup behavior specifics, and how this tool relates to the dedicated XML import/export siblings. It is not complete enough for an agent to invoke correctly without further assumptions.

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 does explain the 'action' parameter values ('import' or 'export') with additional context, but it does not explain the 'source' or 'destination' parameters at all. Given that source and destination are essential for the action, 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?

The description clearly states the tool imports from or exports to Rekordbox, with specific action values ('import' from XML or DB, 'export' to XML). It uses a specific verb and resource, making the purpose unambiguous. It does not explicitly differentiate from sibling tools like rekordbox_importXml or rekordbox_exportXml, 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 guidance on when to use this tool vs. the dedicated rekordbox_importXml and rekordbox_exportXml tools. The description does not mention any exclusions or alternatives, leaving the agent to guess which import/export tool is appropriate.

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

search_keyCompatibleA

Find tracks compatible with a source key using Camelot harmonic mixing rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMusical key or Camelot code (e.g. "Am", "8A").
limitNo
offsetNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description must disclose behavior. It mentions the Camelot mixing rules, adding algorithmic context. However, it does not describe the response format, ordering, or any side effects (though read-only is likely).

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 concise sentence that immediately states purpose and method. No redundant or filler content.

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 description lacks details about return structure, pagination behavior, and compatibility criteria beyond 'Camelot rules'. With no output schema or annotations, these gaps are more significant.

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?

Only the 'key' parameter has schema description; the tool description adds context about the source key and Camelot code. The 'limit' and 'offset' parameters are not described in the description, relying solely on their self-explanatory names and defaults.

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

Purpose5/5

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

The description clearly states the tool's function: finding tracks compatible with a source key using Camelot harmonic mixing rules. The verb 'Find' and specific resource 'tracks' make it distinct from generic sibling search tools like library_search.

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 use case—when harmonic compatibility is needed—but does not explicitly compare against alternatives or state exclusions. No guidance is provided for when to prefer this over library_search or setlist_suggestTransitions.

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

setlist_analyzeC

Analyze a playlist or list of tracks for energy, harmonic compatibility, gaps, and diversity.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idsNo
playlist_nameNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure and fails to provide any. There is no mention of whether the tool is read-only, what side effects it may have, what the return format looks like, or any other behavioral traits. The name 'analyze' implies read-only, but this is not explicit in the description.

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 sentence delivered in a direct, front-loaded manner with no wasted words. It is appropriately concise for a simple purpose statement, though it may be too terse given the tool's complexity, but that is more a completeness issue.

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 tool has no output schema, no annotations, and only a minimal description. The description fails to explain what the analysis returns, what 'gaps' refers to, or any details about how the metrics are computed. For a moderately complex tool, this level of description is inadequate.

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 input schema has 0% parameter description coverage, and the description only says 'playlist or list of tracks,' which maps loosely to playlist_name and track_ids. It does not clarify whether both params are expected, whether one is sufficient, how they interact, or what format track_ids should take. This is insufficient compensation for the missing 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?

The description clearly states the verb 'Analyze' and the resource 'a playlist or list of tracks' with specific scope (energy, harmonic compatibility, gaps, diversity). It distinguishes from siblings like setlist_suggestTransitions by focusing on analysis rather than suggestions, though it doesn't explicitly name 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?

The description provides no guidance on when to use this tool versus alternatives like search_keyCompatible or setlist_suggestTransitions. It only states what the tool does without any contextual or exclusionary information, leaving the agent to infer when it should be selected.

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

setlist_suggestTransitionsB

For each track in a playlist, suggest 2-3 possible next tracks with transition tips and compatibility scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idsNo
playlist_nameNo
limit_per_trackNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It indicates non-mutating 'suggest' behavior but leaves ambiguity about how inputs (track_ids vs playlist_name) are used and what happens if tracks are not found. No side effects or required permissions are mentioned.

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 concise sentence that conveys the core purpose without wasted words.

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 absence of annotations and output schema, and the ambiguity in parameter usage, the description is insufficient for an agent to confidently select and invoke this tool correctly. It needs to clarify input expectations and return format.

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 provides no descriptions for track_ids, playlist_name, or limit_per_track. The description only references the 2-3 count, which likely maps to limit_per_track, but fails to explain the role of track_ids and playlist_name or how they interact.

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

Purpose5/5

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

The description clearly specifies the tool's function: suggesting 2-3 next tracks for each track in a playlist, with transition tips and compatibility scores. This is distinct from sibling tools like search_keyCompatible or setlist_analyze.

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 playlist transition planning but does not explicitly state when to use it vs alternatives, nor does it mention any exclusions or prerequisites.

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

track_getB

Get detailed information about a specific track by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNo
trackIdYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states 'Get detailed information', which is essentially the operation name and doesn't reveal what fields are returned, whether the operation is read-only, authentication requirements, or performance characteristics. This leaves significant behavioral ambiguity.

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, well-formed sentence that immediately communicates the core action and target. It contains no redundant words and front-loads the verb, making it easy to scan.

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 tool has 2 parameters, a nested object, no output schema, and no annotations. The description fails to mention return value format, whether metadata is included by default, or any side effects. For a tool that retrieves detailed track information, the description is too minimal to be fully actionable.

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 input schema has 0% description coverage. The description adds minimal meaning by specifying the track is identified by its ID, clarifying trackId. However, the include object with metadata boolean is entirely unexplained, leaving the caller to guess its effect. The description 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?

The description uses the verb 'get' with the resource 'detailed information about a specific track by its ID', clearly indicating a retrieval operation. It distinguishes itself from sibling tools like track_playlists or track_update by emphasizing detailed information, though it doesn't explicitly contrast with alternatives.

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 usage when a caller has a trackId and needs track details, but provides no explicit guidance on when to choose this over library_search or track_playlists. No exclusions or alternative tools are mentioned.

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

track_playlistsB

Get all playlists that contain a specific track.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden. It indicates a read operation via 'Get' but does not disclose output format, authentication needs, or whether playlists are limited to owned or all playlists. Missing behavioral details like error handling or pagination.

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 concise sentence with no fluff. Front-loaded with the verb and resource, and the meaning is immediately clear.

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 tool is simple, but the description lacks critical information about the return value (playlist objects vs IDs), pagination, and any preconditions. Without output schema or annotations, the agent gets only the basic function, which might be insufficient for correct invocation or result interpretation.

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?

The description connects the single parameter trackId to 'a specific track,' giving it purpose. But it doesn't specify the ID format, source, or uniqueness. Schema has no description, so the description provides minimal but necessary context.

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

Purpose5/5

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

The description uses a specific verb 'Get' and identifies the resource as 'playlists that contain a specific track,' clearly distinguishing it from library_listPlaylists which lists playlists generally. The condition (contain a specific track) is explicit.

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 does not provide explicit usage guidance or alternatives. The use case is implied: when you need to find which playlists contain a track, this is the tool. However, no mention of when not to use it or how it differs from library_listPlaylists.

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

track_updateA

Update metadata for a single track. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYes
updatesYes

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses a notable behavioral trait: 'Creates automatic backup.' This adds safety context, but without annotations, it does not fully cover other important behaviors like merge semantics (whether provided fields replace all metadata or only selected fields), permissions, or error handling.

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 extremely concise, consisting of two short sentences that immediately convey the purpose and a key behavioral trait. Every word earns its place, and the front-loaded structure ensures clarity.

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 that there are no annotations, no output schema, and 0% parameter schema coverage, the description is insufficient. It does not explain return values, permission requirements, merge semantics, or how updates are applied. The statement about backup is helpful but does not make the tool description 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%, yet the description does not explain the parameters. It says 'metadata' but provides no details about the 'updates' object structure or the meaning of fields beyond what the schema property names already show. The description fails to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's function: 'Update metadata for a single track.' It uses a specific verb (update) and resource (metadata for a track), and the qualifier 'single' distinguishes it from sibling tools like track_updateBatch.

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

Usage Guidelines4/5

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

The description provides clear context by specifying it operates on a single track, implying it is not for batch updates. However, it does not explicitly mention alternatives or exclusions, so it falls short of a 5.

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

track_updateBatchA

Update metadata for multiple tracks in one request. Creates automatic backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYes

TDQS

A3.5/5.0
Behavior3/5

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

The description mentions 'Creates automatic backup,' providing some behavioral context beyond the bare operation. However, with no annotations, it does not disclose other important traits such as atomicity, partial failure handling, permissions, or whether the backup can be used for rollback. The disclosure is minimal.

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 two short sentences, front-loaded with the primary purpose and then a key side effect. No filler or redundant 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?

This is a batch write operation with no output schema and no annotations. The description omits return values, error and recovery behavior, and how the backup integrates with operations like mutation_rollback or mutation_history. The schema provides structural detail, but the overall context is incomplete.

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 gives no explanation of the 'updates' parameter structure beyond 'metadata.' It does not describe the array-of-objects format, the need for trackId, or the nested metadata fields, leaving the schema to carry all the semantic weight.

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

Purpose5/5

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

The description clearly states 'Update metadata for multiple tracks in one request,' which identifies the specific action (update), the resource (track metadata), and the batch scope. This distinguishes it from the sibling tool track_update, which handles single 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 'multiple tracks in one request' implies use when updating several tracks at once, but it does not explicitly name track_update as the alternative for single updates or state any when-not-to-use conditions. The usage guidance is only implied, not explicit.

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

TDQS

C2.9/5.0
Disambiguation2/5

Several tools overlap significantly: rekordbox_importXml, library_load, and rekordbox_sync's 'import' action all load Rekordbox XML files, while library_search, library_fuzzySearch, and search_keyCompatible all provide search functionality with unclear boundaries. This will likely cause an agent to select the wrong tool.

Naming Consistency2/5

Naming follows a mixed pattern: some tools use verb_noun (playlist_create, library_search), others use noun_verb (track_get, library_load), and camelCase appears inconsistently (buildSmart, keyCompatible, bpmCacheSet). The arbitrary prefixes (dj_, rekordbox_, library_, track_, setlist_) further break predictability.

Tool Count2/5

At 33 tools, the server is over-granular, exceeding the typical recommended range. Many tools could be consolidated (e.g., rekordbox_importXml and library_load are nearly identical), suggesting the count is bloated rather than well-scoped.

Completeness3/5

The server covers most core workflows: library loading and search, playlist CRUD, track updates, history analytics, and setlist suggestions. However, notable gaps exist—no track deletion, and the import/export paths are redundant and confusing, which may cause dead ends for agents.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for rekordbox DJ database access. Provides read-only querying of tracks, playlists, and DJ session history from encrypted rekordbox SQLite databases using pyrekordbox.
    25
    94
    Python
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for bulk Spotify operations enabling batch playlist creation, library exports, and large-scale library management with confidence scoring and human-in-the-loop for uncertain matches.
    33
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A comprehensive MCP server for rekordbox database management with real-time database access, enabling track search, playlist operations, library analytics, and DJ history retrieval.
    31
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/interfluve-wav/rekordbox-smart-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server