Skip to main content
Glama

GitHub stars License Python FastMCP Mixxx React Tauri NSIS

One command to start

uv sync && uv run uvicorn mixx_dj_mcp.server:app --port 11116

Configure Mixxx OSC once (one minute): Preferences > MIDI/OSC > Enable OSC, set out 11118, in 11119, send to 127.0.0.1, restart. Done.

Your AI assistant (Claude, Cursor, opencode) can now control your decks.

Related MCP server: reaper-mcp

What it does

You say

The AI does

"Play deck 2"

mixx_deck(operation="play_pause", deck=2) — OSC to Mixxx

"Find some 128 BPM tech house"

mixx_library(operation="search", query="tech house")

"Add reverb to the outgoing track"

mixx_effects(operation="chain_load", rack=1, effect="Reverb")

"Plan a 30-min drum & bass set"

mixx_ai_set(operation="plan", style="drum and bass")

"Record this set"

mixx_recording(operation="start")

"Analyse this track's key"

mixx_analyze(operation="track", path="C:/Music/track.mp3")

"Show me my most-played tracks"

mixx_history(operation="profile")

"Transition with an echo out"

mixx_transition(operation="apply", effect="echo_out")

Tools at a glance

Tool

What it controls

mixx_deck

Play/pause, load, cue, loops, sync, rate, scratch, hotcues, quantize, keylock — plus video

mixx_library

Search, browse crates/playlists, BPM/key metadata

mixx_effects

Effect chains, parameters, quick effects, super knob

mixx_mixer

Crossfader, EQ, gain, headphone cue, talkover, mic

mixx_analyze

BPM detection, musical key (Krumhansl-Schmuckler), energy, cue suggestions

mixx_stems

Demucs stem separation, sampler loading, stem-aware mixing

mixx_transition

AI-suggested transitions, 8 effect types, auto-crossfader

mixx_ai_set

Autonomous DJ — plan sets, perform transitions, review

mixx_recording

Record, replay, and export DJ sets as OSC streams

mixx_history

Play history, style profile, track suggestions

mixx_crate

LLM-generated smart crates by BPM/key/genre

mixx_set

Harmonic mixing sequences, energy curve planning

mixx_skin

List, apply, create video skins, AI palette generation

mixx_vinyl

OCR catalog, AI gig picker, Plex crossref

mixx_controller

USB auto-detect, install mappings

mixx_daw

Export stems to DaVinci Resolve, Reaper

Prefab cards

show_deck/mixer/library_status_card — rich in-chat UI

For...

Read

Installing the server, webapp, NSIS installer, or MCPB

docs/INSTALL.md

Status & backlog

docs/STATUS.md · docs/TODO.md

Full tool reference with parameters, returns, and examples

docs/TOOLS.md

Using video — requires the mixxxxx fork of Mixxx

docs/MIXXX_VIDEO.md

AV orchestrator (mixxxxx hub, NDI, Resolume, OBS)

docs/ORCHESTRATOR.md · webapp Help → AV Rig

NDI (network video from mixxxxx)

docs/NDI.md · docs/NDI-TARGETS.md · webapp Help → NDI

Project status & backlog

docs/STATUS.md · docs/TODO.md

AI-powered transitions between decks

docs/AI_TRANSITIONS.md

Architecture — how the OSC bridge, REST API, and webapp work

docs/ARCHITECTURE.md

Beginner's guide to DJing with Mixxx

docs/NOOB_GUIDE.md

Comparing Mixxx to other DJ software

docs/DJ_LANDSCAPE.md

Algoriddim djay feature parity

docs/ALGORIDDIM_COMPARISON.md

Mixxx OSC setup and address reference

bridge/README.md

Video DJing

Mixx-DJ-MCP supports the mixxxxx video fork — a modified Mixxx build that adds FFmpeg video playback, per-deck video widgets, and fullscreen projector output alongside the standard audio engine.

mixxxxx on GitHub  ·  docs/MIXXX_VIDEO.md

Ports

Port

What

11116

Backend REST API + MCP transport

11117

React webapp (Vite)

11118

OSC feedback from Mixxx

11119

OSC commands to Mixxx

Fleet integrations

Mixx-DJ-MCP is a Fleet Audio Hub — it connects to other MCP servers for a unified DJ ecosystem:

Server

Integration

plex-mcp

Cross-reference vinyl with digital library

songgeneration-mcp

AI music generation loaded direct to decks

sfx-mcp

Sound effects triggered during live sets

vfx-mcp

Real-time video effects on video output

stems-mcp

External stem separation engine

davinci-resolve-mcp

Export stems to Fairlight for post-production

reaper-mcp

Export stems to Reaper DAW

inkscape-mcp

AI skin colour palette generation

speech-mcp

Voice-controlled DJing ("Hey Mixxx, load deck 2...")

License

MIT — Sandra Schipal

Vinyl not included. Mixxx not included. Bad music taste is your own.

Available Tools

19 tools
mixx_ai_setB

AI Autonomous Mix Agent using MCP sampling.

Uses ctx.sample() for autonomous reasoning about set structure, track selection, and transition timing. Falls back to rule-based execution when sampling is unavailable.

PORTMANTEAU PATTERN: Consolidates AI set planning and performance.

SUPPORTED OPERATIONS:

  • plan: Generate a structured DJ set plan (BPM curve, energy arc, genre flow)

  • suggest_next: Given current deck state, suggest the next track and transition

  • perform_transition: Execute an AI-chosen transition between two decks

  • review_set: Analyze a completed or hypothetical set for improvement ideas

Examples: mixx_ai_set("plan", style="drum and bass", duration_minutes=30) mixx_ai_set("suggest_next", deck_a=1) mixx_ai_set("perform_transition", deck_a=1, deck_b=2)

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNotech house
deck_aNo
deck_bNo
end_bpmNo
operationYes
start_bpmNo
energy_curveNobuild_peak_cool
duration_minutesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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, and it does disclose meaningful behavior: it uses ctx.sample() for autonomous reasoning and falls back to rule-based execution when sampling is unavailable. However, it says nothing about permissions, whether perform_transition mutates live deck state irreversibly, or any rate/availability constraints, which matters for a tool that executes transitions.

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 layout is well-organized and front-loaded, with the core purpose stated first, followed by an operation list and compact examples. It is slightly verbose with the header labels, but every block adds navigational value.

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

Completeness3/5

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

An output schema exists so return values need not be explained, and the operation semantics are reasonably covered. But with eight parameters at 0% schema coverage and no annotations for a tool that executes live transitions, the definition leaves real gaps an agent would need filled.

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 explain all eight parameters, yet the examples only demonstrate style, duration_minutes, deck_a, and deck_b. start_bpm, end_bpm, and energy_curve are never mentioned, and their semantics (e.g. 'build_peak_cool') are left entirely undocumented.

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

Purpose4/5

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

The description names a specific tool ('AI Autonomous Mix Agent') and enumerates four concrete operations (plan, suggest_next, perform_transition, review_set) with one-line meanings, so the agent knows exactly what it does. It does not, however, explicitly differentiate itself from similar siblings such as mixx_set or mixx_transition, so the AI/non-AI boundary is only implied.

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 operation list implies when each mode is appropriate and the examples show invocation patterns, which is useful guidance. But there is no explicit when-to-use/when-not-to-use against the closely related siblings mixx_set and mixx_transition, leaving the routing decision to inference.

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

mixx_analyzeB

Audio analysis engine using librosa.

PORTMANTEAU PATTERN: Consolidates audio analysis operations.

SUPPORTED OPERATIONS:

  • track: Analyze a single audio file. Returns BPM, key, Camelot, energy, structure.

  • batch_status: Show how many tracks are analyzed vs pending.

  • suggest_cues: Suggest hotcue positions based on track structure.

Returns: Dict with analysis results

Examples: mixx_analyze("track", path="C:/Music/track.mp3") mixx_analyze("batch_status")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
limitNo
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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 behavioral burden: it discloses no side effects. Crucially, 'suggest_cues' may persist hotcues to the track (as 'suggest' implies), yet it is not stated whether this mutates the library or is purely advisory, and no cost/weight warning is given for heavy librosa analysis. It does confirm outputs and operation scoping, which is partial credit, but the mutation ambiguity is a real gap.

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

Conciseness4/5

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

Sectioned into pattern, operations, returns, and examples, so the agent can scan operation options quickly and examples are front-loaded for the core use case. The 'Returns: Dict with analysis results' line is filler given an output schema exists, a minor waste.

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

Completeness3/5

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

An output schema exists so return values needn't be explained, and per-operation result fields are summarized well. However, for a 3-operation portmanteau with 3 shared parameters, the missing operation-to-parameter mapping and the undisclosed write behavior of suggest_cues leave meaningful ambiguity for correct invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It covers the operation enum thoroughly via SUPPORTED OPERATIONS and demonstrates the path argument in examples, but omits `limit` entirely (which presumably bounds batch_status/suggest_cues) and never states which parameters apply to which operation, leaving the path default and limit scope undocumented.

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

Purpose4/5

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

The description names a concrete domain (audio analysis via librosa) and enumerates three distinct operations with the outputs each produces (BPM, key, Camelot, energy, structure), so an agent knows exactly what the tool computes. It does not, however, explicitly differentiate itself from sibling introspection tools like mixx_library or mixx_stems.

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?

By listing operations with result summaries, the description implies which operation fits which need, but it gives no explicit when-to-use/when-not guidance and never states how this differs from siblings that also touch track metadata. The examples show invocation shape but not selection criteria.

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

mixx_controllerB

DJ controller auto-detection and mapping management.

SUPPORTED OPERATIONS:

  • detect: Scan USB for connected DJ controllers

  • install: Install a Mixxx mapping for a detected controller

  • list: List all installed Mixxx controller mappings

  • status: Show current controller configuration

  • download: Download community mappings from GitHub

Returns: Dict with operation result

Examples: mixx_controller("detect") mixx_controller("list") mixx_controller("install", mapping_name="Pioneer-DDJ-400")

ParametersJSON Schema
NameRequiredDescriptionDefault
pidNo
vidNo
operationYes
mapping_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It hints at network access ('Download community mappings from GitHub') but says nothing about permissions, whether 'install' overwrites existing mappings, or side effects of download/install. For a tool with mutating operations, this is a significant gap.

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

Conciseness4/5

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

Front-loaded purpose followed by a structured operations list and examples; most sentences earn their place. Slightly verbose in the Returns/Examples block but well organized.

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

Completeness3/5

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

An output schema exists so return values need not be explained, and the examples aid invocation. But with zero annotations and 0% parameter coverage, the definition leaves 'pid'/'vid' and mutation-side-effect behavior unaddressed, so it is only adequate for a mutation-capable tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, yet it never explains what 'pid' and 'vid' mean or how they relate to detect/install. The example only implicitly shows 'mapping_name', leaving half the parameters undocumented in both schema and prose.

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

Purpose5/5

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

States a specific verb+resource ('DJ controller auto-detection and mapping management') and enumerates all five operations with one-line definitions. An agent can immediately tell this is the controller-management tool, distinct from deck/mixer/effects siblings.

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 per-operation blurbs imply when each mode applies (detect before install, download for community mappings), giving contextual guidance. However, there is no explicit when-to-use-this-vs-alternatives guidance against the many mixx_* siblings, and no exclusions.

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

mixx_crateA

Smart crate management for Mixxx.

PORTMANTEAU PATTERN: Consolidates crate creation and management.

SUPPORTED OPERATIONS:

  • create: Create a crate from a natural language prompt (requires name, prompt)

  • list: List all crates in the library

  • delete: Delete a crate by name (requires name)

  • add_track: Add currently playing track on deck to a crate (requires name, deck)

  • create_agentic: Create a self-curating crate with an LLM rule (requires name, rule) Rules: "126-132 BPM, Dm or Em, 4+ stars, genre:tech house" The crate auto-updates based on the rule when the server starts.

Return Format

{"success": bool, "message": str, "data": dict}

Examples

mixx_crate("create", name="Peak Time", prompt="tech house 124-128 BPM D minor")
mixx_crate("list")
mixx_crate("add_track", name="Favorites", deck=1)
mixx_crate("create_agentic", name="Morning Warmup",
           rule="126-132 BPM, Dm or Em, 4+ stars, genre:tech house")
ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
nameNo
ruleNo
promptNo
updateNomanual
operationYes
max_tracksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 does disclose a genuinely useful behavioral trait — create_agentic crates auto-update on server start — and lists the return shape, but it never warns that delete is destructive/irreversible, nor mentions permissions or side effects on the running library.

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?

Well structured with headers, front-loaded by the portmanteau pattern, and every operation line earns its place. Slight redundancy in stating both a per-operation requirement list and full example invocations keeps it from a 5.

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 7-parameter portmanteau with an output schema (so return values need not be explained), the description covers operations, required args, rule syntax, and examples. The gaps are the undocumented update/max_tracks parameters and the absence of any delete-safety warning.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate, and it does explain name, prompt, deck, rule, and the operation enum through the per-operation requirements. However, update (default 'manual') and max_tracks (default 50) are undocumented in both schema and description, leaving two parameters opaque.

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

Purpose4/5

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

The description names the resource (crates) and enumerates five concrete operations with their required inputs, so an agent knows exactly what the tool does. It does not, however, differentiate itself from plausible siblings like mixx_library or mixx_ai_set, which is the only thing separating it from a 5.

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

Usage Guidelines4/5

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

Each operation carries its own routing context (e.g., add_track needs a deck, create_agentic needs a rule), which effectively tells the agent which mode to pick. There is no explicit 'use X instead of Y' guidance relative to sibling tools, so it stops short of 5.

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

mixx_dawA

Cross-connection between Mixx-DJ-MCP and DAWs (Fairlight, Reaper).

PORTMANTEAU PATTERN: Consolidates DAW export operations.

SUPPORTED OPERATIONS:

  • export_stems: Copy stem WAVs to a DAW project directory

  • export_session: Write a session metadata JSON for DAW import

  • send_to_fairlight: Send stems to DaVinci Resolve's Fairlight page via REST API

  • send_to_reaper: Send stems to Reaper via reaper-mcp REST API (POST /api/v1/project/import_media)

  • resolume_sync: Send deck BPM to Resolume via OSC (canonical composition addresses, port 7000)

  • visuals_connect: Start continuous audio-reactive visual sync to Resolume

  • visuals_trigger: Fire a one-shot visual effect (strobe, pulse, color_cycle, wave, particles)

Returns: Dict with export result and file paths

Examples: mixx_daw("export_stems", output_dir="D:/Projects/Gig/Stems") mixx_daw("export_session", session_name="Friday Gig", source_dir="D:/Stems") mixx_daw("send_to_fairlight", source_dir="D:/Stems", session_name="Friday Gig")

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
stemsNo
deck_aNo
deck_bNo
effectNo
intensityNo
operationYes
output_dirNo
source_dirNo
target_bpmNo
session_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does meaningfully disclose behavior beyond the schema: transport mechanisms (REST endpoints, OSC on port 7000), the contrast between continuous sync (visuals_connect) and one-shot effects (visuals_trigger), and that exports copy files to disk. It stops short of stating overwrite behavior, required permissions, or whether DAW targets must be running.

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 definition is front-loaded with the purpose, then a scannable operation list, returns, and examples. Section headers keep it navigable for a 7-operation tool, though the 'PORTMANTEAU PATTERN' line adds little value and the Returns sentence is redundant given the output schema.

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 consolidated tool with 11 parameters, 7 operations, and no annotations, the critical missing piece is a per-operation parameter mapping that tells the agent which inputs are required for each branch. Output schema existence excuses the brief Returns note, but the lack of usage guidance and sibling differentiation leaves the definition only partially complete.

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

Parameters3/5

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

Schema description coverage is 0% across 11 parameters, so the description must compensate. It clarifies output_dir, source_dir, and session_name through examples and implicitly maps deck/BPM/effect parameters to the Resolume and visuals operations, but leaves mode, stems, deck_a, deck_b, effect, and intensity undefined and never states which parameters apply to which operation.

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

Purpose4/5

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

The description names a concrete domain (bridging Mixx-DJ-MCP to DAWs) and enumerates all seven operations with a specific effect for each, so an agent knows exactly what the tool can do. It does not, however, distinguish itself from siblings like mixx_stems, which may overlap on stem handling.

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

Usage Guidelines3/5

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

Usage is only implied: the operation list and three examples hint at when each branch is used, but there is no explicit when-to-use/when-not-to-use guidance and no routing to sibling tools such as mixx_stems for stem extraction. The agent must infer selection criteria from the operation names and examples.

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

mixx_deckA

Comprehensive deck control for Mixxx.

PORTMANTEAU PATTERN: Consolidates all deck playback and transport controls.

SUPPORTED OPERATIONS:

  • play_pause: Toggle play/pause on deck

  • stop: Stop playback completely

  • load: Load a track to deck (requires track_path)

  • cue_set: Set cue point at current position

  • cue_play: Play from cue point

  • loop_activate: Toggle loop on/off (requires enable)

  • loop_beat: Set loop of specified beats (requires beats)

  • beatloop: Same as loop_beat

  • rate_set: Set playback rate/BPM adjustment (requires value, -1.0 to 1.0)

  • rate_temp: Temporary pitch bend (requires value, seconds)

  • sync_enable: Toggle sync lock (requires enable)

  • sync_leader: Set deck as sync leader (requires enable)

  • seek: Seek to position in seconds (requires value)

  • scratch: Enable/disable scratch mode (requires enable)

  • hotcue_activate: Activate hotcue by number (requires hotcue)

  • quantize: Toggle quantize mode (requires enable)

  • keylock: Toggle keylock (requires enable)

  • video_enable: Toggle video playback for deck (requires enable)

  • video_fullscreen: Toggle video fullscreen output (requires enable)

Returns: Dict with operation result

Examples: mixx_deck("play_pause", deck=1) mixx_deck("load", deck=1, track_path="C:/Music/track.mp3") mixx_deck("rate_set", deck=1, value=0.05) mixx_deck("loop_beat", deck=1, beats=8) mixx_deck("sync_enable", deck=2, enable=True) mixx_deck("hotcue_activate", deck=1, hotcue=3)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
beatsNo
valueNo
enableNo
hotcueNo
operationYes
track_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses parameter requirements per operation (e.g., load requires track_path, loop_activate requires enable) and a value range for rate_set (-1.0 to 1.0), which adds useful behavioral context. However, it omits side effects (e.g., whether load replaces the current track), permissions, and reversibility of 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?

Well-structured with front-loaded purpose, a portmanteau note, a complete operation list, a return note, and examples. The operation list is long but necessary given 0% schema coverage; every section 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 a complex 19-operation tool with no annotations and 0% schema coverage, the description covers operations and required params thoroughly, and an output schema covers returns. Gaps remain in deck parameter semantics and behavioral safety, but overall it is 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?

Schema description coverage is 0%, so the description bears the burden. It compensates well by listing required parameters for each operation, but misses describing the deck parameter (default 1, likely deck number) and leaves value semantics ambiguous for rate_temp ('requires value, seconds').

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

Purpose5/5

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

States a specific verb and resource: 'Comprehensive deck control for Mixxx' and 'Consolidates all deck playback and transport controls.' Enumerates 19 supported operations, making it immediately clear what the tool does and distinguishing it from siblings like mixx_mixer and mixx_effects.

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?

Does not explicitly state when to use this tool versus alternatives like mixx_mixer or show_deck_status_card. The operation list implies it is the canonical deck-control tool, but no when-not-to-use, prerequisites, or alternative routing is given.

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

mixx_effectsB

Effect chain control for Mixxx.

PORTMANTEAU PATTERN: Consolidates all effect rack and chain operations.

SUPPORTED OPERATIONS:

  • list_effects: List available effects for a rack/unit

  • chain_load: Load an effect chain by name (requires effect)

  • chain_clear: Clear the effect chain on a rack/unit

  • parameter_set: Set a specific effect parameter (requires parameter, value)

  • meta_set: Set meta/param knob value (requires value, 0.0-1.0)

  • quick_effect_set: Set quick effect for deck (requires deck, effect)

  • effect_enable: Enable/disable an effect unit (requires enable)

Returns: Dict with operation result

Examples: mixx_effects("chain_load", rack=1, unit=1, effect="Flanger") mixx_effects("parameter_set", rack=1, unit=1, parameter=2, value=0.75) mixx_effects("effect_enable", rack=1, unit=1, enable=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
rackNo
unitNo
valueNo
effectNo
enableNo
operationYes
parameterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 full disclosure burden. It reveals destructive-looking operations like chain_clear only by name and never states side effects, reversibility, persistence across sessions, or whether live playback is disrupted — meaningful gaps for a mutation-heavy control surface.

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 header-segmented (operations, returns, examples) and front-loaded with the scope statement before the detail. It is slightly longer than necessary — the "PORTMANTEAU PATTERN" line and the Returns section add little — but there is no real filler.

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

Completeness3/5

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

An output schema exists, so not explaining return values is acceptable, and the operation/example coverage makes invocation possible. Given seven mutating operations and zero annotations, though, the absence of any side-effect or state-safety information leaves the definition short of complete.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate, and it partially does: it maps parameters to operations and gives the value range for meta_set (0.0-1.0) plus three worked examples. It still never explains rack vs unit semantics, the default rack/unit=1, the meaning of the parameter index, or deck selection, leaving several of the eight parameters opaque.

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

Purpose4/5

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

The description opens with a concrete verb+resource ("Effect chain control for Mixxx") and enumerates the seven supported operations, so an agent immediately knows the domain is effect racks/units/chains. It does not, however, explicitly distinguish itself from siblings like mixx_deck or mixx_mixer, which also touch deck-level state.

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 operation list implies which call to make for a given task and flags required arguments per operation (e.g. "requires effect", "requires deck, effect"), which is useful routing within the tool. But there is no guidance on when to prefer this tool over siblings or when an operation is inappropriate, so usage remains 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.

mixx_historyC

DJ play history, analytics, and personal style profiling.

PORTMANTEAU PATTERN: Consolidates analytics and history.

SUPPORTED OPERATIONS:

  • plays: Recent play history

  • transitions: Recent transition log

  • profile: Personal DJ style profile (BPM range, key preferences, transition style)

  • suggest: Tracks you haven't played recently

  • log_play: Manually log a track play (auto-called by deck ops)

  • log_transition: Manually log a transition

Examples: mixx_history("profile") mixx_history("suggest", limit=10) mixx_history("plays", limit=20)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
limitNo
to_deckNo
from_deckNo
operationYes
track_pathNo
track_titleNo
track_artistNo
transition_typeNofilter_sweep

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 full burden. For a tool with six operations including mutations (log_play, log_transition), it says nothing about side effects, reversibility, permissions, or whether logging requires an existing track. The 'suggest' and 'profile' operations are opaque in terms of behavior.

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

Conciseness4/5

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

Structured as a header, portmanteau note, bulleted operations, and examples. Front-loaded and scannable. The 'PORTMANTEAU PATTERN' line is slightly jargon-y but short, and the operation list earns its place.

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

Completeness2/5

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

An output schema exists, so return values needn't be explained, which helps. But with no annotations and 0% parameter coverage, the description leaves key behaviors (side effects of logging operations, permissions, parameter meanings) undocumented, which is inadequate for a 9-param, 6-operation tool with mutations.

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 9 parameters exist. The description mentions 'limit' in examples and ties some operations to decks implicitly, but never explains deck, to_deck, from_deck, track_path, track_title, track_artist, or transition_type semantics. With a low-coverage schema, the description had an obligation to compensate and largely does not.

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

Purpose4/5

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

States a specific verb+resource: 'DJ play history, analytics, and personal style profiling' with an explicit operation list. Distinguishes itself from siblings like mixx_library or mixx_transition by consolidating history/analytics, though sibling differentiation is implicit rather than named.

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 operation list implies when each mode applies, and mention that log_play is 'auto-called by deck ops' hints at manual vs automatic use. But there's no explicit when-not-to-use guidance or routing to sibling tools for overlapping concerns.

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

mixx_libraryB

Library management for Mixxx.

PORTMANTEAU PATTERN: Consolidates all library browsing and track info tools.

SUPPORTED OPERATIONS:

  • search: Search the library for tracks (requires query)

  • browse_crate: Browse tracks in a crate (requires crate)

  • browse_playlist: Browse tracks in a playlist (requires playlist)

  • load_selected: Load highlighted/selected track to deck

  • get_track_info: Get metadata for current track on deck (requires deck)

  • get_bpm: Get BPM of track on deck (requires deck)

  • get_key: Get musical key of track on deck (requires deck)

  • get_replay_gain: Get replay gain values for track on deck (requires deck)

Returns: Dict with operation result

Examples: mixx_library("search", query="Daft Punk") mixx_library("load_selected", deck=1) mixx_library("get_track_info", deck=1)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
crateNo
queryNo
playlistNo
operationYes
track_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 behavioral burden, yet it discloses almost nothing: 'Returns: Dict with operation result' is all. The 'load_selected' operation mutates deck state and mixes are stateful, but no side effects, permission needs, or reversibility are described.

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?

Organized with labeled sections and bulleted operations, and the core purpose is front-loaded. The repetition between the operation list and the examples adds some length but mostly earns its place.

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

Completeness3/5

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

An output schema exists, so return values need not be detailed, and the per-operation parameter requirements cover the main invocation needs. But for an eight-mode tool with 0% param coverage and a stateful mutation mode, the lack of behavioral detail leaves real gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it partially does by mapping which parameter each operation requires. It still leaves track_index, the deck default, and the meaning of several enum values (e.g., get_replay_gain) unexplained.

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

Purpose4/5

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

The description names a specific resource (Mixxx library) and enumerates eight concrete operations, so an agent knows exactly what it does. It identifies itself as a portmanteau but does not differentiate from overlapping siblings like mixx_crate or mixx_history, leaving ambiguity for browsing crates.

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 states per-operation requirements ('requires query', 'requires crate', 'requires deck') and gives three invocation examples, which implies how to use each mode. However, there is no guidance on when to prefer this tool over siblings such as mixx_crate or mixx_history, so alternative-selection guidance is absent.

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

mixx_mixerA

Mixer control for Mixxx.

PORTMANTEAU PATTERN: Consolidates all mixer and channel strip operations.

SUPPORTED OPERATIONS:

  • crossfader_set: Set crossfader position (requires value, -1.0 to 1.0)

  • crossfader_curve: Set crossfader curve (requires value, 0.0-1.0)

  • gain_set: Set deck gain/pregain (requires value, 0.0-5.0)

  • eq_set: Set EQ band for deck (requires eq_band, value 0.0-1.0)

  • volume_set: Set channel volume (requires value, 0.0-1.0)

  • headphone_cue: Toggle headphone cue for deck (requires enable)

  • talkover: Toggle talkover / microphone

  • mic_gain: Set microphone gain (requires value, 0.0-1.0)

Returns: Dict with operation result

Examples: mixx_mixer("crossfader_set", value=0.0) mixx_mixer("gain_set", deck=1, value=0.85) mixx_mixer("eq_set", deck=1, eq_band="low", value=0.5) mixx_mixer("headphone_cue", deck=1, enable=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
valueNo
enableNo
eq_bandNo
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 full burden. It usefully exposes per-operation value ranges and toggle semantics (headphone_cue, talkover), but says nothing about state side effects, playback prerequisites, error behavior, or whether any operation is destructive/reversible.

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 portmanteau pattern is front-loaded, then organized into clearly labeled Operations, Returns, and Examples sections. Ordering is logical and the operation list carries genuine disambiguating detail rather than 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?

With an output schema present, return-value explanation is unnecessary and the brief 'Returns: Dict with operation result' is acceptable. Given the eight-operation portmanteau and 0% parameter coverage, the description is reasonably complete, though it omits sibling routing and side-effect context.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: for each operation it names the required parameters (value, eq_band, enable, deck) and gives numeric ranges. It does not document the deck default or the operation enum semantics beyond the op names themselves, but the mapping is strong for a 0%-coverage schema.

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

Purpose4/5

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

States a specific resource ('Mixer control for Mixxx') and enumerates all eight consolidated operations with their required arguments, so the agent knows exactly what the tool covers. It does not, however, explicitly differentiate itself from siblings like mixx_deck or mixx_effects, leaving the boundary to inference.

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

Usage Guidelines3/5

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

The 'consolidates all mixer and channel strip operations' framing implies you use it for mixer work, and the examples demonstrate invocation patterns. But there is no when-to-use vs alternatives guidance or any exclusions relative to the many sibling tools.

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

mixx_recordingA

Record, replay, and export DJ sets.

PORTMANTEAU PATTERN: Consolidates set recording and replay.

SUPPORTED OPERATIONS:

  • start: Begin recording OSC commands (name: set name)

  • stop: Stop recording and save

  • list: List recorded sets

  • replay: Replay a recorded set's OSC commands

  • export: Export set as JSON for external tools

  • status: Show current recording state

Examples: mixx_recording("start", name="Club Night 2026-07-24") mixx_recording("stop") mixx_recording("list") mixx_recording("replay", set_id="...", replay_speed=0.5)

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
nameNo
set_idNo
operationYes
replay_speedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 does disclose that export produces JSON, that replay re-emits OSC commands, and that stop saves the recording, which is useful. However, it omits whether recording persists across sessions, permission/authentication needs, or the destructive implications of overwriting an existing set – gaps that matter for a mutation tool with zero annotation coverage.

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 definition is well front-loaded: purpose first, then the operation contract, then runnable examples. Every block earns its place, though the "PORTMANTEAU PATTERN" line is largely meta-commentary that adds little for an agent.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and the operation enumeration plus examples make the tool callable for most paths. The remaining gap is the undocumented loop parameter and the absence of sibling routing, which keep it from being fully complete for a six-operation 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?

Schema description coverage is 0%, so the description must supply parameter meaning. It partially compensates, showing by example that name is the set name for start and that set_id and replay_speed belong to replay. But the loop parameter is entirely undocumented and defaults for all parameters remain unexplained.

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

Purpose4/5

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

The description opens with a specific verb trio and resource ("Record, replay, and export DJ sets") and enumerates six concrete operations, so an agent knows exactly what the tool covers. It does not, however, differentiate itself from plausible siblings like mixx_history, mixx_set, or mixx_ai_set.

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?

Each operation is briefly annotated (e.g., "start: Begin recording OSC commands", "export: Export set as JSON for external tools"), which implies when each sub-operation applies. But it never states when to choose this tool over siblings such as mixx_history for past sets, and gives no exclusions or prerequisites.

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

mixx_setB

AI-assisted set sequencing and analysis.

PORTMANTEAU PATTERN: Consolidates set planning and analysis.

SUPPORTED OPERATIONS:

  • sequence: Generate an optimized track order from a crate (requires crate) Uses local Ollama (llama3.2:3b) for harmonic mixing, energy curve, and phrase-aligned transitions.

  • record: Start/stop session recording via OSC

  • analyze_set: Analyze a recorded session or mix for BPM transitions, energy, etc.

Returns: Dict with ordered track list and reasoning

Examples: mixx_set("sequence", crate="Peak Time", name="Friday Gig") mixx_set("record") mixx_set("analyze_set", name="Last Saturday", analyze_type="recording")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
crateNo
operationYes
analyze_typeNorecording
energy_curveNobuild_peak_cooldown

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful traits: sequence uses local Ollama (llama3.2:3b) for harmonic mixing, energy curve, and phrase-aligned transitions; record operates via OSC and can start or stop a session (a side effect). It stops short of stating OS/permission prerequisites or error/limitation behavior.

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

Conciseness4/5

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

Front-loaded with a one-line purpose, then well-labeled PORTMANTEAU/OPERATIONS/RETURNS/EXAMPLES sections that make the multi-op tool easy to scan. The 'Returns' block is partly redundant given an output schema exists, but overall the structure is efficient.

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

Completeness3/5

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

For a portmanteau tool with 5 params, 0% schema coverage, and no annotations, the description is only partially complete: operations are well covered and returns are covered by the output schema, but undocumented parameters (energy_curve) and no alternative-routing leave gaps for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and the description barely compensates. It clarifies that 'crate' is required for sequence and demonstrates 'name' and 'analyze_type="recording"' in examples, but it never explains 'energy_curve' (a defined parameter with default build_peak_cooldown) or the semantics/defaults of 'name' across operations.

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

Purpose4/5

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

The description gives a specific verb+resource ('AI-assisted set sequencing and analysis') and enumerates its three operations with the action each performs. It does not, however, differentiate itself from a close sibling like mixx_ai_set, leaving the agent to infer the boundary.

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?

Per-operation context exists ('sequence... requires crate', 'record: Start/stop', 'analyze_set: Analyze a recorded session') and the examples show expected call shapes. But there is no explicit when-to-use vs when-not-to-use guidance and no routing to alternatives such as mixx_analyze or mixx_ai_set.

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

mixx_skinA

Skin browser and manager for Mixxx.

PORTMANTEAU PATTERN: Consolidates skin discovery and management.

SUPPORTED OPERATIONS:

  • list: List all available skins from the curated manifest

  • search: Search skins by name, author, or tag (requires query or tags)

  • install: Install a skin from the manifest to the Mixxx user skins dir

  • uninstall: Remove an installed skin (requires skin_id)

  • preview: Show information about a skin (requires skin_id)

  • create_video_skin: Copy LateNight and add VideoWidget entries for video-DJ workflows

  • create_skin: Generate a new skin by cloning LateNight and recoloring SVGs via inkscape-mcp (requires name and prompt; optional base_skin defaults to latenight)

  • patch_scheme: Apply a bundled color scheme to Mixxxxx Video Daylight QSS (scheme defaults to daylight-v2; target=installed|source)

Returns: Dict with operation result and list of skins

Examples: mixx_skin("list") mixx_skin("search", tags="video-ready,dark") mixx_skin("install", skin_id="tara") mixx_skin("create_video_skin") mixx_skin("create_skin", name="cyberpunk", prompt="dark purple with cyan accents, neon waveform") mixx_skin("patch_scheme", scheme="daylight-v2", target="installed")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
tagsNo
queryNo
promptNo
schemeNodaylight-v2
targetNoinstalled
skin_idNo
base_skinNolatenight
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and largely meets it: install writes to the 'Mixxx user skins dir', uninstall removes an installed skin, create_video_skin 'copies LateNight and adds VideoWidget entries', create_skin clones LateNight and recolors SVGs 'via inkscape-mcp', and patch_scheme targets installed|source. Destructive/creation consequences are disclosed, though permissions, reversibility, and side effects are not addressed.

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 definition is front-loaded with the purpose, followed by clearly labeled sections (PATTERN, OPERATIONS, Returns, Examples) that make scanning easy. It is somewhat verbose for a single tool, but each operation bullet carries distinct information and the examples reinforce correct invocation.

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 an eight-operation portmanteau tool this is close to complete: operations, prerequisites, defaults, and examples are all present, and an output schema exists so return details need not be elaborated. The main gap is the absence of any guidance on choosing this tool over its many siblings.

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 must compensate for nine undocumented parameters, and it does substantially: it maps query/tags to search, skin_id to uninstall/preview, name+prompt to create_skin, base_skin default 'latenight', scheme default 'daylight-v2', and target=installed|source. A couple of parameters (e.g. exact semantics of 'name' vs 'base_skin') remain lightly defined, but coverage is far above baseline.

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 names a specific resource and role ('Skin browser and manager for Mixxx') and enumerates all eight sub-operations with distinct verbs (list, search, install, uninstall, preview, create_video_skin, create_skin, patch_scheme). An agent can distinguish this from siblings like mixx_library or mixx_effects without opening any schema.

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 per-operation breakdown implies when each operation applies and notes prerequisites ('requires query or tags', 'requires skin_id'), which gives reasonable routing within the tool. However, it never states when to reach for mixx_skin versus surrounding siblings, and offers no explicit when-not guidance beyond the implied operation preconditions.

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

mixx_stemsA

Stem separation and sampler control using Demucs.

PORTMANTEAU PATTERN: Consolidates stem separation, sampler loading, and stem-aware mixing operations for Mixxx.

SUPPORTED OPERATIONS:

  • separate: Run Demucs stem separation. Requires a track loaded on the deck (uses bridge state to detect).

  • status: Check if Demucs is available and list sampler slot assignments.

  • load_stems: Load previously separated stems to Mixxx sampler decks via OSC.

  • transition: Stem-aware crossfader transition - mutes vocals + other on outgoing deck.

  • mute: Mute or unmute a sampler (requires enable).

  • volume: Set sampler volume level (requires value, 0.0-1.0).

Returns: Dict with operation result

Examples: mixx_stems("separate", deck=1, output_dir="C:/stems/out") mixx_stems("status") mixx_stems("load_stems", deck=1) mixx_stems("mute", sampler=1, enable=True) mixx_stems("volume", sampler=2, value=0.5) mixx_stems("transition", deck_a=1, deck_b=2)

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNo
stemNovocals
valueNo
deck_aNo
deck_bNo
enableNo
samplerNo
operationYes
output_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 disclosure burden. It adds useful behavioral context (Demucs dependency, bridge-state detection of a loaded deck, OSC delivery to sampler decks), but omits side effects, reversibility, dry-run behavior, and failure modes for a tool that mutates sampler/deck state.

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?

Front-loaded purpose, then clean labelled sections for operations, returns, and examples. Every line earns its place, though the 'PORTMANTEAU PATTERN' boilerplate slightly inflates length without adding call-relevant information.

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 9-parameter, 6-operation tool with no annotations, the description covers operations, prerequisites, examples, and confirms an output schema exists (so return details need not be restated). The main remaining gap is that prerequisites are not tied to failure behavior, but overall an agent has enough to invoke it correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: it maps each operation to the parameters it needs (deck, enable, sampler, value with range 0.0-1.0, output_dir, deck_a/deck_b) and the examples demonstrate expected values. The 'stem' parameter and its default are never explained, leaving a minor 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 opening line names a specific verb and resource ('Stem separation and sampler control using Demucs') and the SUPPORTED OPERATIONS list enumerates exactly what each mode does. It is clear what the tool is, though it does not distinguish itself from siblings like mixx_transition or mixx_deck by name.

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?

Per-operation prerequisites are stated ('Requires a track loaded on the deck', 'requires enable', 'requires value, 0.0-1.0'), which is genuine usage guidance. However there is no explicit guidance on when to pick this tool over sibling tools such as mixx_transition for transitions, so the routing logic is only implied.

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

mixx_transitionB

AI-powered transitions between decks.

PORTMANTEAU PATTERN: Consolidates creative transition effects.

SUPPORTED OPERATIONS:

  • suggest: Ask LLM to suggest best transition for the two loaded tracks

  • apply: Apply a specific transition effect between decks

  • auto_crossfader: Enable/disable AI-assisted crossfader (auto-picks transitions)

Available effects: echo_out, filter_sweep, stem_swap, hard_cut, spin_back, flanger, reverb_kill, long_blend

Returns: Dict with transition result

Examples: mixx_transition("suggest", deck_a=1, deck_b=2) mixx_transition("apply", deck_a=1, deck_b=2, effect="filter_sweep") mixx_transition("auto_crossfader", enable=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoany
deck_aNo
deck_bNo
effectNo
enableNo
operationYes
duration_beatsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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 behavioral disclosure burden. It reveals that suggest invokes an LLM, apply applies a named effect, and auto_crossfader toggles AI assistance, plus lists available effects. But it omits critical mutation details: whether apply is real-time or destructive, whether it affects playback state, error behavior, or permissions.

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 well-structured with clear headings (SUPPORTED OPERATIONS, Available effects, Returns, Examples) and is front-loaded with purpose. It is appropriately sized for a multi-operation tool, though the 'PORTMANTEAU PATTERN' line is internal jargon that adds little value.

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 7 parameters, 0% schema description coverage, no annotations, and a mutation-oriented tool, the description leaves gaps: it does not explain style or duration_beats, nor side effects or prerequisites for apply/auto_crossfader. The output schema covers return values, so the minimal 'Dict with transition result' is acceptable, but overall completeness is only moderate.

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 explains the operation enum, lists valid effect values, describes enable for auto_crossfader, and shows deck_a/deck_b via examples. However, it entirely omits style and duration_beats, and gives no defaults or format guidance for those parameters.

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

Purpose4/5

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

States a specific capability: AI-powered transitions between decks with three supported operations (suggest, apply, auto_crossfader) and a list of effects. It distinguishes itself from general effects or mixer tools by focusing on transitions between decks, though it does not explicitly contrast with siblings like mixx_effects or mixx_mixer.

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 lists each operation and what it does, which implies when to use suggest, apply, or auto_crossfader. However, it offers no explicit when-to-use guidance relative to alternatives (e.g., mixx_effects), no when-not scenarios, and no prerequisites or ordering constraints.

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

mixx_vinylA

Vinyl record catalog and search tool.

PORTMANTEAU PATTERN: Consolidates all vinyl collection management.

SUPPORTED OPERATIONS:

  • catalog: Run OCR pipeline on a directory of vinyl photos (requires directory)

  • search: Search the vinyl database by query, genre, and era

  • gig_pick: Natural language query to pick records for a gig (requires query)

  • crossref: Find matching digital copy in Plex (requires vinyl_id)

  • stats: Summary of the vinyl collection

Return Format

{"success": bool, "message": str, "data": dict}

Examples

mixx_vinyl("catalog", directory="D:/Vinyl/inbox") mixx_vinyl("search", query="techno", genre="techno", limit=10) mixx_vinyl("gig_pick", query="dark warehouse techno set", count=5) mixx_vinyl("crossref", vinyl_id=1) mixx_vinyl("stats")

ParametersJSON Schema
NameRequiredDescriptionDefault
eraNo
countNo
genreNo
limitNo
queryNo
vinyl_idNo
directoryNo
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations at all, the description carries the full behavioral burden, and it only partially does so: it discloses the return envelope and that 'catalog' runs an OCR pipeline over a directory, implying file ingestion and database writes. It says nothing about permissions, whether cataloging is idempotent or destructive to existing rows, or rate/time costs for a batch pipeline.

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 front-loaded with purpose, then operations, then return shape, then examples — a sensible priority order with headers that make it skimmable. The examples are useful rather than padding, though the statement of the return format is somewhat redundant given an output schema exists.

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 an 8-parameter, 5-operation portmanteau with no sibling-level annotation help, the definition covers purpose, per-operation intent, required arguments, and call examples, which is enough to invoke it correctly. The remaining gaps — no safety profile for the OCR/write path and no clarification of count vs limit — are real but secondary.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: it binds directory to catalog, query to gig_pick/search, vinyl_id to crossref, and genre/era/limit to search. It leaves ambiguity on two parameters — the distinction between count (gig_pick) and limit (search) is never explained, and the accepted format of era is undefined.

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 opens with a specific verb+resource combination ('Vinyl record catalog and search tool') and enumerates the five operations it consolidates, so an agent knows exactly what domain it covers. It does not explicitly distinguish itself from plausible siblings like mixx_library or mixx_crate, which is the only thing keeping it from a 5.

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

Usage Guidelines4/5

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

The SUPPORTED OPERATIONS block functions as routing guidance: 'catalog' for ingesting a photo directory, 'search' for query/genre/era lookup, 'gig_pick' for natural-language selection, 'crossref' for Plex matching, 'stats' for a summary, each with a 'requires X' precondition. This is clear when-to-use-which-operation context, but it offers no exclusions or comparison against the sibling vinyl/library/crate tools.

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

show_deck_status_cardA

Show live deck status as a rich Prefab card.

Displays play state, BPM, key, volume, loop status, and sync state for the specified deck with data-testid attributes for CUA/Playwright testing.

ParametersJSON Schema
NameRequiredDescriptionDefault
deckNoDeck number (1-4, default: 1)

TDQS

A3.5/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 load. It usefully discloses that the output is a rich Prefab card carrying data-testid attributes for automated testing, which is non-obvious behavioral context, but it never states that the operation is read-only/side-effect free or whether a live deck session is required.

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?

Two short sentences, front-loaded with the core action and then the rendered contents. No filler, though the testing-attribute clause is somewhat tacked on rather than integrated.

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 trivial one-optional-param display tool with no output schema, the description covers what is shown and why the card structure matters. Only the read-only nature and any session prerequisite are left unstated.

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

Parameters3/5

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

Schema coverage is 100% and the single deck parameter is fully documented in the schema (range 1-4, default 1). The description only says "the specified deck," adding no format, range, or default information beyond what the schema already provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ("Show live deck status") and enumerates the fields rendered (play state, BPM, key, volume, loop, sync). The deck-vs-mixer-vs-library distinction against siblings like show_mixer_status_card and show_library_status_card is conveyed via the resource but never made explicit.

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

Usage Guidelines3/5

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

Usage is only implied from the fact that it renders a card for a specified deck; there is no statement of when to reach for this versus the other status-card siblings, and no prerequisites. The mention of CUA/Playwright testing hints at a context but is not framed as guidance.

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

show_library_status_cardB

Show library connection and search status as a Prefab card.

Reports whether the OSC bridge is connected to Mixxx and any active search or crate context.

Returns: PrefabApp card with library KPIs

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?

No annotations are provided, so the description carries the full burden. It does disclose that the output is a rendered Prefab card reporting OSC-bridge connection and active search/crate context, which implies a non-mutating read. However it never explicitly states that it is safe/non-destructive or whether it has side effects on the UI.

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?

Three short lines, front-loaded with the action, and the 'Returns' block clearly separates output from purpose. Every sentence is relevant, though the output line is slightly redundant with the first sentence.

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 parameterless, annotation-free read tool with no output schema, the description covers purpose, scope and the shape of the return value (PrefabApp card with library KPIs). This is sufficient for correct invocation, with only safety/behavioral wording left implicit.

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 and schema coverage is 100%, so there is nothing for the description to compensate for. Baseline 4 applies.

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

Purpose4/5

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

Names a specific verb and resource ('Show library connection and search status as a Prefab card') and the domain ('library') clearly separates it from siblings like show_deck_status_card and show_mixer_status_card. It stops short of explicitly naming the alternatives, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no reference to the sibling status cards. The agent must infer that this is the tool to call when it wants a readout of library/OSC state.

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

show_mixer_status_cardB

Show live mixer status as a rich Prefab card.

Displays crossfader position, master gain, and per-deck levels with data-testid attributes for automated testing.

Returns: PrefabApp card with mixer KPIs

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 must carry the full behavioral burden. It discloses that the tool returns a PrefabApp card with KPIs and uses data-testid attributes for testing, which is useful, but it does not state permissions, whether it connects live to hardware/software, or any side effects. For a read-only display tool this is adequate but incomplete.

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?

Short and front-loaded: the core action and display fields come first, followed by testing context and return type. The 'Returns' line is slightly redundant with the first sentence but still brief and informative.

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 status-card tool with no input parameters and no output schema, the description covers what is shown, how it is rendered, testing attributes, and the return type. It lacks sibling differentiation, but otherwise contains what an agent needs to call it correctly.

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

Parameters4/5

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

The tool takes zero parameters, so the schema is already complete. The description correctly adds no parameter detail because there is none to add, matching the baseline for parameter-less tools.

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

Purpose4/5

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

States a specific verb 'Show' and resource 'live mixer status', and lists exactly what is displayed (crossfader position, master gain, per-deck levels). It clearly differs from the deck-status sibling by resource, but does not explicitly name or rule out any alternative.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is provided. The description only implies it is for viewing mixer status; it does not help an agent choose between this and show_deck_status_card or the mixx_mixer family.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 19 tool updatesv0.2.0
    • First observedmixx_ai_set
    • First observedmixx_analyze
    • First observedmixx_controller
    • First observedmixx_crate
    • First observedmixx_daw
    • First observedmixx_deck
    • First observedmixx_effects
    • First observedmixx_history
    • First observedmixx_library
    • First observedmixx_mixer
    • First observedmixx_recording
    • First observedmixx_set
    • First observedmixx_skin
    • First observedmixx_stems
    • First observedmixx_transition
    • First observedmixx_vinyl
    • First observedshow_deck_status_card
    • First observedshow_library_status_card
    • First observedshow_mixer_status_card

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation3/5

Most tools are cleanly scoped by domain (deck, mixer, effects, library, crates), but the AI-set trio—mixx_set, mixx_ai_set, and mixx_transition—overlap heavily on set planning and transition suggestion/execution, and mixx_stems also exposes a 'transition' op. mixx_analyze and mixx_library both surface track BPM/key metadata. Descriptions help, but boundaries require careful reading.

Naming Consistency4/5

The bulk of tools follow a consistent 'mixx_<domain>' snake_case pattern that maps cleanly to their domain. The three 'show_<x>_status_card' tools deviate from that prefix convention, introducing a second pattern, but it remains readable and predictable overall.

Tool Count4/5

19 tools is on the higher side, but the portmanteau design means each tool represents a genuine distinct domain (deck, mixer, effects, stems, vinyl, recording, etc.), so each earns its place. Slightly heavy but well justified for a full DJ control surface.

Completeness4/5

Coverage is broad and deep—transport, mixing, effects, library, crates, skins, stems, transitions, recording, history, and even DAW export. Minor gaps exist (e.g., beatgrid/sample editing, finer controller mapping edits), but core workflows and lifecycle operations are well covered.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers