Skip to main content
Glama

AI Producer Hub

Fleet orchestration MCP server for the audio production stack. Generates songs via SongGeneration LeVo, loads them to VirtualDJ decks, produces multi-track albums, and sets up live streaming.

Quick Start

git clone https://github.com/sandraschi/ai-producer-hub
cd ai-producer-hub
uv sync
uv run -m ai_producer_hub    # MCP server (MIDI tools)

Webapp: cd webapp && npm install && npx vite --port 10707

Related MCP server: FL Studio MCP Server

Tools

Tool

What it does

songgen_to_deck(lyrics, genre, tempo, deck_id)

Generate song via LeVo → load to VDJ deck

ai_dj_set(theme, num_tracks, bpm)

Generate multi-track DJ set across decks

album_factory(theme, num_tracks)

Multi-track album, optionally to Plex

live_stream_producer(theme, duration)

Set up streaming with AI-generated music

ai_mashup(track_a, track_b)

Mashup plan from VDJ library search

hub_status()

Check all fleet server health

list_midi_devices()

Enumerate MIDI hardware

record_midi_performance(device, duration)

Record MIDI to file

Architecture

AI Producer Hub (MCP stdio)
  ├──→ songgeneration-mcp (HTTP :10885) — LeVo AI generation
  ├──→ virtualdj-mcp (HTTP :10877) — DJ decks, stems, mixing
  ├──→ reaper-mcp (HTTP :10797) — DAW mastering
  └──→ obs-mcp (HTTP :10819) — Live streaming

Sub-servers can run on any reachable host. Configure via SONGGEN_BASE, VDJ_BASE, REAPER_BASE, OBS_BASE env vars.

Requirements

  • Python 3.11+

  • Running sub-servers (songgeneration-mcp, virtualdj-mcp) for orchestration tools

  • python-rtmidi + mido for MIDI tools

Available Tools

22 tools
ai_analyze_productionC

AI-powered analysis of production progress and quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
analysis_typeNoType of analysis (comprehensive, technical, creative)comprehensive
production_idYesID of production to analyze

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 behavioral burden, yet it discloses nothing about cost, latency, permissions, or whether the operation is non-destructive. The only implied behavior is that 'analysis' is read-only, which is never stated outright.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or repetition, which is structurally clean. It is arguably under-specified rather than over-long, but it wastes no words.

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

Completeness3/5

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

With an output schema present and 100% parameter coverage, the return shape and inputs are covered elsewhere, so the remaining gaps are usage routing and behavioral disclosure. For a two-parameter tool in a 20-sibling ecosystem, this is the minimum viable level.

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

Parameters3/5

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

Schema description coverage is 100%: analysis_type and production_id are both documented in the schema, including the default and the candidate values. The description adds no additional meaning beyond the schema, 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?

The description names a clear verb (analysis) and resources (production progress and quality), so an agent can tell this is a read/assessment operation rather than a generation tool. It gives no differentiation from similar siblings such as ai_produce_track or ai_orchestrate_production, and 'AI-powered' adds no discriminating information.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool, when not to, or which sibling it replaces in the crowded AI-production family. The agent must infer usage purely from the name.

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

ai_colaborate_workflowC

Conversational tool returns for natural AI collaboration.

This enables ongoing conversations about production workflows with context awareness and natural language responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_inputYesUser's natural language input
conversation_historyNoPrevious conversation turns

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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 behavioral burden. It gestures at context awareness and ongoing conversation, implying conversational state, but says nothing about latency, permissions, cost, whether state is persisted across calls, or how conversation_history is used. For an unannotated tool this is a substantial gap.

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

Conciseness3/5

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

Two short sentences, so it is not bloated, and the purpose leads. But the opening line ('Conversational tool returns for natural AI collaboration') is grammatically awkward filler that does not earn its place, and the second sentence largely restates the first.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the 100%-covered parameters are documented. What remains missing is behavioral context for an unannotated conversational tool and any routing guidance among 21 siblings. Adequate at a minimum-viable level but with clear 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 100%, so both user_input and conversation_history are already documented in the schema, establishing a baseline of 3. The description adds no syntax, format, or semantics beyond the schema (the 'natural language responses' line concerns output, not inputs), so it neither compensates nor detracts.

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

Purpose3/5

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

The description identifies a conversational tool for AI collaboration on production workflows, which is a recognizable verb+resource pairing. However, the phrase 'returns for natural AI collaboration' is awkward and the scope stays abstract — it never states concretely what the tool produces or how it differs from siblings like ai_produce_track or ai_orchestrate_production. Purpose is implied rather than precisely stated.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the many neighboring AI-production tools (ai_produce_track, ai_orchestrate_production, ai_analyze_production). 'Ongoing conversations' hints at multi-turn use but no conditions, prerequisites, or alternatives are named. The agent is left to infer selection entirely.

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

ai_dj_setB

Generate a complete AI DJ set from a theme.

This workflow:

  1. Generates multiple tracks based on theme variations

  2. Analyzes BPM and key of each

  3. Orders tracks for harmonic mixing

  4. Loads to VirtualDJ decks

  5. Configures automix

  6. Optionally starts recording

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesOverall theme for the set Example: "progressive house summer festival"
bpm_rangeNoBPM range for generated tracks
num_tracksNoNumber of tracks to generate (2-8)
duration_minutesNoTarget set duration

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 behavioral burden, and it does disclose a lot: this is a multi-step pipeline that generates audio, analyzes BPM/key, loads tracks to VirtualDJ decks, and reconfigures automix, with optional recording. However, it omits preconditions (VirtualDJ must be running), whether it overwrites existing deck/automix state, how long it runs, and whether progress is streamed or the call blocks.

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-line purpose is front-loaded and the numbered list earns its place by sequencing a genuinely multi-stage operation. It is slightly longer than strictly necessary, but no sentence is filler and the ordering is informative.

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 restated, and the workflow covers the main pipeline. What is missing for a tool of this complexity with real side effects is the operating envelope: prerequisites, failure behavior when VirtualDJ or generation services are unavailable, and interaction with pre-existing deck state.

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

Parameters3/5

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

Schema description coverage is 100%, so theme, bpm_range, num_tracks, and duration_minutes are already documented with defaults and constraints in the schema. The description adds no parameter-level meaning beyond that, which matches the baseline 3 for a fully-described schema.

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

Purpose4/5

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

States a specific verb (Generate) and a specific artifact (a complete AI DJ set) sourced from a theme, and the six-step workflow makes the scope concrete (track generation, harmonic ordering, deck loading, automix) in a way that separates it from single-track siblings like ai_produce_track or songgen_to_deck. It stops short of naming an alternative explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no contrast with alternatives such as album_factory, bpm_bridge_generator, or ai_produce_track, and no exclusions. The workflow list implies the tool is an end-to-end pipeline, but the agent must infer that routing decision on its own.

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

ai_mashupA

Create an AI-powered mashup of two tracks.

Workflow:

  1. Find tracks in Plex library

  2. Extract stems from both

  3. Analyze compatible elements

  4. Generate mashup arrangement

  5. Load to VirtualDJ for preview

ParametersJSON Schema
NameRequiredDescriptionDefault
mashup_styleNoHow to blend them "seamless blend", "vocals swap", "rhythm swap", "creative chaos"seamless blend
track_a_searchYesSearch query for first track
track_b_searchYesSearch query for second track

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 must carry the full behavioral burden. It does disclose meaningful side effects through the pipeline: it reaches into the Plex library, extracts stems, and loads a result into VirtualDJ for preview, which tells the agent this is a heavy multi-stage mutation rather than a lookup. However it says nothing about permissions, whether the Plex library is modified, expected runtime, or failure modes.

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?

Purpose is front-loaded in one sentence, followed by a compact numbered workflow. Every line is relevant, though the workflow could be tightened since it partly restates the obvious 'find tracks / generate mashup' steps.

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 values need not be explained, and the description covers the key external dependencies (Plex library, stem extraction, VirtualDJ preview). It is complete enough for a multi-step tool, missing only explicit prerequisites or guidance on what happens if a track is not found.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents track_a_search, track_b_search and the mashup_style options, so the baseline is 3. The description adds no extra meaning about parameter format, search syntax, or how mashup_style changes the pipeline.

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

Purpose4/5

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

States a specific verb and resource: 'Create an AI-powered mashup of two tracks.' This clearly separates it from generative siblings like ai_produce_track or songgen_to_deck, though it does not explicitly name the closest alternative (remix_plex_track) to sharpen the distinction.

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

Usage Guidelines3/5

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

The five-step workflow implies the intended context (tracks must exist in Plex, output goes to VirtualDJ) but never says when to pick this over remix_plex_track, bpm_bridge_generator or ai_dj_set, nor any prerequisites or exclusions. Usage is inferable but not stated.

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

ai_orchestrate_productionC

SEP-1577 Sampling Implementation: AI autonomously decides tool usage and sequencing.

This demonstrates the core sampling capability where the LLM can autonomously orchestrate complex workflows without client round-trips.

ParametersJSON Schema
NameRequiredDescriptionDefault
available_toolsYesList of tool names the AI can use
workflow_descriptionYesNatural language description of desired workflow

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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 behavioral burden, yet it only hints that the AI 'autonomously decides tool usage and sequencing.' It does not say whether the tool actually executes the selected tools or merely plans, what side effects result, what permissions are needed, or whether behaviour is bounded. The autonomous-execution claim is significant and left entirely unexplained.

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

Conciseness3/5

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

It is short and front-loads a capability identifier, but the framing is marketing/demo oriented ('This demonstrates the core sampling capability') rather than operational. The 'SEP-1577' internal reference earns little place for an agent trying to decide whether to call the tool.

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

Completeness3/5

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

An output schema exists, so return values need not be spelled out, and only two well-documented parameters are involved. Still, the description provides no real usage context and no behavioural bounds for a tool that can autonomously drive other tools, leaving an agent under-informed about when and how to invoke it.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (workflow_description, available_tools) are already documented in the schema. The description adds no syntax, format, or constraint details beyond that. Baseline 3 is appropriate when the schema does the work.

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

Purpose3/5

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

The description conveys that the tool orchestrates a workflow by letting the AI pick and sequence other tools, which is a recognisable verb+resource. However, it is framed as a capability demo ('SEP-1577 Sampling Implementation', 'This demonstrates...') rather than a functional statement of what the tool does, and it never distinguishes itself from the many sibling production tools. The purpose is inferable but not crisply stated.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as ai_produce_track, ai_colaborate_workflow, or ai_stream_production. No prerequisites, context, or exclusion criteria are given. The agent must guess the intended scope from the name alone.

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

ai_produce_trackC

AI-driven complete track production with sampling capabilities.

This tool demonstrates SEP-1577 by autonomously orchestrating the entire music production pipeline using sampling with tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
bpmNoTarget BPM
genreNoMusical genreElectronic
themeYesProduction theme/concept
complexityNoProduction complexity levelprofessional
midi_inputNoOptional MIDI file path for melody extraction
voice_typeNoMale/Female vocalsMale
duration_secondsNoTrack duration

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 supplied, so the description carries the full disclosure burden for what is clearly a heavy generative/mutating tool. It hints at autonomy and a multi-step pipeline but never states side effects (files written, where output lands), expected runtime, cost, or whether it blocks until completion — all material for a full-track generator.

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

Conciseness3/5

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

It is short and the operative clause is front-loaded, which is good. But the second sentence ('demonstrates SEP-1577 by autonomously orchestrating...') is internal spec justification that consumes roughly half the text without telling an agent anything actionable.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and all seven parameters are documented in the schema. What is missing for a tool of this complexity is operational context — long-running behavior, side effects, and how it relates to the orchestration siblings — which the absence of annotations leaves entirely unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains bpm, genre, complexity, voice_type, duration_seconds, and midi_input. The description only implies sampling-derived melody handling, adding nothing about defaults, allowed values, or interactions between parameters. Baseline 3 is appropriate when structured data does the lifting.

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 first sentence gives a specific verb+resource ('AI-driven complete track production') and adds scope ('with sampling capabilities'), so an agent knows it emits a whole track rather than a MIDI fragment. However, it never distinguishes itself from close siblings like ai_orchestrate_production, album_factory, or live_stream_producer, and the SEP-1577 sentence is spec meta-commentary rather than purpose.

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 naming of alternatives among the many siblings that also produce or orchestrate music. 'Autonomously orchestrating the entire pipeline' implies a broad, one-shot generator, but the agent is left to infer that from the name alone.

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

ai_stream_productionC

Autonomous live streaming production with AI-generated content.

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesStreaming theme
platformNoStreaming platformtwitch
duration_hoursNoStream duration

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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 behavioral burden. 'Autonomous' hints that the agent hands off control, but nothing says whether this is long-running, whether it blocks, what permissions/accounts it needs, or what happens to an existing stream. For a fully unannotated production tool 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?

A single efficient sentence with no filler, and the distinguishing qualities (autonomous, AI-generated) are front-loaded. It is not padded, though it is arguably too terse to earn a top score.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for an autonomous long-running production tool with zero annotations and an ambiguous sibling, the description omits lifecycle, side effects, and routing guidance. It is not complete enough for confident 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 100%, so theme, platform, and duration_hours are already documented in the schema. The description adds nothing beyond that, which matches the baseline 3 when structured fields do the heavy lifting.

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

Purpose3/5

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

The description names the resource domain (live streaming production) and a differentiating quality (autonomous, AI-generated content), so an agent grasps the general area. However, it is a noun phrase with no action verb (does it start a stream? launch an agent? queue a job?), and it gives no basis for choosing it over the near-identical sibling live_stream_producer.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or which sibling to prefer. The obvious alternative, live_stream_producer, is not mentioned at all, leaving the selection decision entirely to inference.

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

album_factoryA

Generate a complete album from a theme.

This workflow:

  1. Creates track list with variations on theme

  2. Generates all tracks via Suno

  3. Masters each track

  4. Creates album metadata

  5. Saves to Plex library

ParametersJSON Schema
NameRequiredDescriptionDefault
num_tracksNoNumber of tracks (5-20)
album_themeYesOverall album concept
album_titleNoOptional album title (auto-generated if empty)
save_to_plexNoWhether to add to Plex library

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/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 substantial work: it discloses a five-stage batch pipeline, an external dependency (Suno generation), a mastering step, and a side effect on an external system (saving to Plex). It does not disclose runtime, cost, failure/partial-completion behavior, or idempotency, which are important for a long-running multi-service workflow.

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-loads the one-line purpose and then uses a compact five-step list where each step carries distinct information (tracklist, generation, mastering, metadata, save). Slightly list-heavy but no sentence is wasted.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and all four parameters are documented in the schema. The pipeline disclosure makes the tool's contract understandable; only operational caveats for a fragile multi-stage, external-API workflow are missing.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (num_tracks 5-20, album_theme, album_title, save_to_plex) is already documented in the schema. The description adds no parameter-level semantics such as the interaction between save_to_plex=false and downstream steps, so the baseline of 3 applies.

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 ('Generate a complete album from a theme') and scopes it to whole-album output, which clearly separates it from track-level siblings like ai_produce_track and ai_orchestrate_production. The numbered pipeline reinforces exactly what artifact is produced.

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

Usage Guidelines3/5

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

Usage is implied by the pipeline steps (you invoke this when you want a full album pipeline rather than a single track), but there is no explicit when-to-use vs alternatives guidance and no prerequisites, cost warnings, or exclusions to steer an agent away from overlapping siblings.

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

bpm_bridge_generatorA

Generate a transition track that bridges between two BPMs.

Perfect for smooth genre transitions in a DJ set. Generates a track that starts at one BPM and gradually transitions to another.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoMusical style for the bridgeelectronic
target_bpmYesEnding BPM
current_bpmYesStarting BPM

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?

No annotations are provided, so the description carries the full burden. It explains the nature of the generated artifact (starts at one BPM, gradually transitions to another), but says nothing about generation cost, side effects, whether a file is written, or any permissions required.

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

Conciseness3/5

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

The core statement is front-loaded and easy to parse, but the third sentence repeats the first almost verbatim (start BPM gradually transitioning to end BPM), which is wasted space.

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 params are fully documented by the schema. However, with no annotations, the definition is thin on behavioral context such as side effects or how the track is delivered.

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%, so the schema already documents current_bpm, target_bpm, and style. The description only loosely restates the two BPM endpoints and adds no syntax, range, or format detail beyond the schema.

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

Purpose4/5

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

The first sentence states a specific verb and resource: generate a transition track bridging two BPMs. It is clear what the tool produces, but it never distinguishes itself from similar generation siblings such as ai_mashup or songgen_to_deck.

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?

"Perfect for smooth genre transitions in a DJ set" gives a concrete usage context, so an agent knows when this is appropriate. There are no exclusions or named alternatives, which keeps it 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.

hub_statusB

Get status of all mounted servers and available workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral burden, yet it only implies a read-only status query. It does not say what "status" means, whether it can fail or block, or what permissions/state are required.

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

Conciseness5/5

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

A single front-loaded sentence with no waste; the scope is stated immediately and nothing is padded.

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 with no parameters the description covers the surface-level need. However, with no annotations it leaves the agent without any behavioral guardrails for what is presumably a diagnostic call.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline for a parameter-less tool 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 ("Get status") and a specific scope ("all mounted servers and available workflows"), which distinguishes it from the MIDI/production siblings. The only ambiguity is what "mounted servers" and "workflows" refer to in this hub context, but the intent is 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?

The description never says when to call this tool versus the other hub or production tools, nor what prerequisites (e.g. a running hub) exist. It is usable but leaves routing entirely to inference.

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

karaoke_generatorA

Generate a karaoke track from lyrics.

Workflow:

  1. Send lyrics to Suno with style

  2. Generate full song

  3. Load to VirtualDJ

  4. Enable karaoke mode (removes vocals, shows lyrics)

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoMusical stylepop ballad
lyricsYesSong lyrics (or theme for AI lyrics)
deck_idNoDeck to load to

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?

No annotations are provided, so the description carries the full behavioral burden. It does usefully disclose a 4-step side-effecting pipeline involving external services (Suno generation, loading to a VirtualDJ deck, enabling karaoke mode), which is more than the schema reveals. However, it omits whether loading overwrites existing deck content, what happens on generation failure, and expected latency for the multi-step process.

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?

Purpose is front-loaded in one sentence, followed by a compact numbered workflow. Every line is actionable and there is no filler, though the numbered list is slightly verbose for a tool whose parameters the schema already explains.

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

Completeness4/5

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

An output schema exists, so return-value explanation is unnecessary. For a 3-parameter tool with a clear pipeline, the description covers the essentials: inputs, style handling, and destination. It falls short only on side-effect semantics (deck overwrite) and sibling routing, which are minor given the simplicity of the inputs.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents style, lyrics, and deck_id with defaults. The description echoes 'lyrics' and 'with style' but adds no format, range, or value guidance beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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 sentence states a specific verb (Generate) and resource (karaoke track) from an input (lyrics). The workflow naming Suno and VirtualDJ hints at how it differs from sibling generators like songgen_to_deck or ai_produce_track, but it never explicitly contrasts itself with them, so the differentiation is only implicit.

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

Usage Guidelines3/5

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

Usage is implied by the workflow ('from lyrics' → Suno → VirtualDJ) but the description never says when to choose this over siblings such as songgen_to_deck or ai_produce_track, nor does it state preconditions or exclusions. An agent can infer the intent but gets no routing guidance.

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

list_midi_devicesA

List all available MIDI input and output devices.

Scans the system for connected MIDI devices including:

  • USB MIDI keyboards

  • Hardware synthesizers

  • Virtual MIDI ports (loopMIDI, IAC, etc.)

  • DAW MIDI interfaces

Returns: Dict with lists of input and output devices

Example output: { "inputs": ["MPK mini 3", "loopMIDI Port"], "outputs": ["Microsoft GS Wavetable Synth", "loopMIDI Port"] }

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 discloses that it scans the system (implying a read-only operation) and describes the return shape, but says nothing about permissions, latency of the scan, or edge cases like no devices found. Reasonable but shallow behavioral disclosure for an annotation-free 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?

Front-loaded with the purpose in the first sentence, followed by scannable device categories and return info. Every section serves a purpose, and the structure lets an agent grasp it immediately.

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 an output schema exists, the return description is more than enough, and the device-category enumeration adds helpful context. For a zero-param discovery tool with no annotations, the definition is complete; only the lack of usage routing to sibling tools keeps it from a 5.

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, which is the baseline-4 case. There is nothing to disambiguate, and the description correctly implies no input 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?

States a specific verb and resource ('List all available MIDI input and output devices') and enumerates the device categories it scans (USB keyboards, hardware synths, virtual ports, DAW interfaces). This clearly separates it from action siblings like send_midi_note or midi_monitor, though it never names a sibling explicitly.

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

Usage Guidelines3/5

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

The description implies its usage (device discovery/enumeration before connecting or routing) but gives no explicit when-to-use, when-not-to-use, or alternative tools. An agent must infer that this should be called before send_midi_note, midi_to_reaper, etc.

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

live_stream_producerB

Run a live streaming DJ set with AI-generated music.

The ultimate AI producer workflow:

  1. Start OBS streaming

  2. Generate initial tracks

  3. Start VirtualDJ mixing

  4. Continuously generate new tracks

  5. Hot-swap new tracks into the mix

  6. Run for specified duration

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesTheme for generated music
platformNoStreaming platform (twitch, youtube, etc.)twitch
duration_hoursNoStream duration
generate_interval_minutesNoHow often to generate new tracks

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 behavioral burden. It usefully discloses that the tool drives external software (OBS, VirtualDJ), runs a continuous generate/mix loop, and is bounded by a duration — real behavioral context the schema does not convey. However, it says nothing about whether this is a long-running blocking call, what permissions or running services are required, or what happens on failure mid-stream.

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-line purpose is front-loaded and the numbered workflow is scannable. The marketing line 'The ultimate AI producer workflow' is filler, and the step list is arguably more verbose than needed, but overall 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?

An output schema exists, so return values need no explanation, and parameters are fully documented in the schema. Still, for a complex multi-service orchestration tool with no annotations, it omits operational prerequisites (OBS/VirtualDJ installed and running, platform auth) and any routing guidance against its many siblings.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (theme, platform, duration_hours, generate_interval_minutes) are already documented in the schema. The description only indirectly echoes the duration concept ('Run for specified duration') and adds no format, range, or interaction details beyond it, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource: 'Run a live streaming DJ set with AI-generated music,' then enumerates the internal pipeline from OBS capture to track hot-swapping. The purpose is unmistakable. It stops short of 5 because it never distinguishes itself from close siblings like ai_stream_production or ai_dj_set, which an agent could easily confuse it with.

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?

It describes what happens during execution but gives no guidance on when to choose this over ai_stream_production, ai_dj_set, or album_factory, nor any exclusions or prerequisites. The numbered steps read as internal mechanics, not selection criteria.

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

midi_monitorA

Monitor MIDI input and display incoming messages.

Useful for:

  • Testing MIDI connections

  • Learning what messages your device sends

  • Debugging MIDI setups

ParametersJSON Schema
NameRequiredDescriptionDefault
device_indexNoInput device index
duration_secondsNoHow long to monitor

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?

No annotations are provided, so the description carries the full burden. It does convey a useful behavioral trait -- that this is a passive, display-only monitoring session lasting a bounded window rather than a persisting capture -- but it omits whether the call blocks for duration_seconds, what happens if the device is missing, and whether anything is written to disk.

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 the core action in the first sentence, followed by a tight three-bullet list of use cases. Every element earns its place, though the bullets are slightly redundant with the stated purpose.

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 no explanation here, and the two parameters are simple and fully schema-documented. What remains thin -- blocking behavior and device-missing failure mode -- is the main gap for a no-annotation 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 100%, so both parameters (device_index, duration_seconds) are already documented in the schema. The description adds no format, valid-range, or default context beyond that, making the baseline 3 appropriate.

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 concrete verb+resource: monitoring MIDI input and displaying incoming messages. This clearly separates it from siblings like record_midi_performance (which persists) and list_midi_devices (which enumerates). However, it never names a sibling or explicitly contrasts scope, so it falls short of a 5.

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

Usage Guidelines4/5

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

The 'Useful for' bullets (testing connections, learning device output, debugging setups) give clear situational context for when to reach for this tool. It stops short of exclusions or naming alternatives, so it is clear context without routing guidance.

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

midi_to_ai_seedA

Use a MIDI recording as a seed for AI music generation.

Takes your played melody/chords and:

  1. Analyzes the musical content

  2. Extracts key, tempo, chord progression

  3. Creates a prompt for AI expansion

  4. Generates full track based on your input

ParametersJSON Schema
NameRequiredDescriptionDefault
midi_fileYesPath to MIDI file (your recording)
expansion_styleNoHow to expand it: - "elaborate" - Add complexity and layers - "extend" - Make it longer - "harmonize" - Add harmonies - "full_production" - Complete trackelaborate
target_durationNoTarget length in seconds

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 provided, the description carries the full burden, and it partially meets it by disclosing the internal processing steps (content analysis, key/tempo/chord extraction, prompt creation, full-track generation). That is genuinely useful behavioral context. It stops short of operational traits an agent needs for a heavy generation tool: cost/credit implications, latency, required MIDI input state, or reversibility.

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 the core purpose and structured as a scannable numbered list. Slight redundancy between the opening sentence and the numbered steps, but no wasted sentences and the format suits the multi-stage behavior being described.

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 explained, and parameter semantics are fully covered by the schema. Combined with the pipeline description, an agent has enough to call it correctly; the only real missing piece is sibling/alternative routing guidance.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents midi_file, expansion_style (with enumerated values) and target_duration fully. The description adds no syntax or meaning beyond that, 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?

The description gives a specific verb+resource ('use a MIDI recording as a seed for AI music generation') and a clear 4-step breakdown of the pipeline (analyze, extract, prompt, generate). It is easy to understand what the tool does. However, it never differentiates itself from siblings like ai_produce_track or songgen_to_deck, so the agent can't tell them apart from the text alone.

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 opening sentence implies the entry condition (you have a played MIDI melody/chords to expand), so the intended use case is inferable. But there is no explicit when-to-use vs alternatives and no exclusions, despite several generative siblings that overlap in purpose.

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

midi_to_reaperB

Import a MIDI file into Reaper DAW.

Sends the MIDI file to Reaper for:

  • Audio rendering with virtual instruments

  • Further editing and arrangement

  • Mixing and mastering

ParametersJSON Schema
NameRequiredDescriptionDefault
midi_fileYesPath to MIDI file
track_nameNoName for the new track in ReaperMIDI Recording

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 at all, the description carries the full behavioral burden, yet it omits prerequisites (is Reaper required to be running/connected?), whether the import is additive or overwrites an existing track, and any permissions or failure behavior. The 'for:' bullets describe downstream outcomes rather than how the tool behaves, which is the weaker form of disclosure.

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 action sentence is front-loaded and the whole definition is short. The trailing bullets are somewhat padded — 'mixing and mastering' is a vague outcome for an import operation — but overall it is tight and scannable.

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 two-parameter tool with full schema coverage and an output schema, the description covers the minimum: what it does and what the import enables. It still leaves out the operational context an agent needs (Reaper availability, result expectations), which keeps it at adequate rather than 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 100%, with both midi_file and track_name documented (including a default), so the schema does the heavy lifting. The description adds nothing about path format, acceptable MIDI variants, or defaulting behavior, 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?

The description states a specific verb and resource ('Import a MIDI file into Reaper DAW'), so the core action is unambiguous. It does not, however, differentiate itself from close siblings like play_midi_file, record_midi_performance, or send_midi_note, 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?

The bullet list implies when the tool is useful (rendering with virtual instruments, editing/arrangement, mixing), which is contextual intent rather than explicit routing guidance. It never says when NOT to use it or why it beats play_midi_file for a given task, so the guidance remains implied.

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

play_midi_fileC

Play a MIDI file through an output device.

Sends the MIDI file to your synthesizer/sound module for real-time playback.

ParametersJSON Schema
NameRequiredDescriptionDefault
midi_fileYesPath to MIDI file
device_indexNoOutput device index

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?

With no annotations, the description carries the full behavioral burden. It discloses only that playback is real-time to a synthesizer/sound module; it says nothing about whether the call blocks until the file finishes, how long playback lasts, how failures (bad path, busy device) are reported, or whether devices must exist beforehand.

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 action and resource, with no filler. The second sentence is somewhat redundant with the first ('sends ... for real-time playback' restates 'play'), but the whole definition is efficiently sized.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and both parameters are documented. Still, for a playback tool with no annotations, the description omits blocking/async behavior and device prerequisites, leaving meaningful gaps 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 coverage is 100%, so midi_file and device_index are already documented with types and a default. The description implies the device-selection concept but adds no syntax, path format, or guidance on obtaining a valid device index, so it does not exceed the schema baseline.

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

Purpose4/5

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

The description states a concrete verb+resource ('Play a MIDI file') and names the destination ('through an output device'), which is far more specific than the bare name. It does not, however, distinguish itself from siblings like send_midi_note, midi_to_reaper, or list_midi_devices, so the agent must 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 Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternatives, despite a crowded sibling set (send_midi_note, midi_to_reaper, record_midi_performance). The phrase 'through an output device' hints that a device must be chosen, but nothing tells the agent when to pick this tool over the others or that list_midi_devices is a prerequisite.

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

producer_helpB

Get help for AI Producer Hub workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoHelp topic (overview, generation, mixing, streaming, examples)overview

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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, and it discloses nothing explicit about behavior (e.g. that it is a safe read-only lookup returning documentation). For a help tool the behavioral surface is inherently small, which keeps this at a minimum-viable 3 rather than lower.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words, which suits a simple help-lookup tool. It is terse to the point of adding almost no information, but nothing is bloated.

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

Completeness3/5

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

With one optional parameter fully documented in the schema and an output schema present, the description need not explain return values, so coverage is nearly adequate. However, it never indicates what the help covers or how to use the returned guidance, leaving the definition thin for even a simple 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 100% and the topic parameter's allowed values (overview, generation, mixing, streaming, examples) plus its default are already documented in the schema. The description adds no meaning beyond that, 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 and resource ("Get help for AI Producer Hub workflows"), so an agent can tell this is a documentation/lookup tool rather than a production action. It lacks any sibling differentiation, but no sibling tool serves a comparable help function, so disambiguation is not really needed.

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 invoke this versus other tools, nor any mention of prerequisites or when help is most useful. The intent is implied by the name alone, but nothing in the text routes the agent.

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

record_midi_performanceB

Record a MIDI performance from an input device.

Captures all MIDI events (notes, control changes, pitch bend) from the specified device for the given duration.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_fileNoPath to save MIDI file (auto-generated if empty)
device_indexNoIndex of MIDI input device (from list_midi_devices)
duration_secondsNoHow long to record (5-300 seconds)

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 provided, the description carries the full burden. It usefully discloses what is captured (notes, control changes, pitch bend) and that capture is time-bounded, which the schema only implies. However, it omits key behavioral traits for an I/O-bound capture tool: whether the call blocks for the whole duration, what happens on an invalid device index, and whether an existing output_file is overwritten.

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 the core purpose front-loaded and the scope detail (what events, which device, how long) following immediately. Nothing is redundant or padded.

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 3-parameter tool with full schema coverage and an output schema, the definition covers purpose, capture scope, and timing adequately. The remaining gap is operational behavior (blocking, error/overwrite semantics) rather than anything an agent needs to choose 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?

Schema description coverage is 100%, so the schema fully documents output_file, device_index, and duration_seconds including the 5-300 range and defaults. The description adds no parameter-level meaning beyond that, 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 (record a MIDI performance from an input device) and the second sentence clarifies scope (all MIDI events from the specified device for the given duration). It is distinguishable from list_midi_devices and play_midi_file, though it never explicitly contrasts with the nearby midi_monitor tool, which an agent might reasonably confuse with recording.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as midi_monitor or list_midi_devices. The only device-selection hint lives in the schema field description, not the tool description, so the agent gets no contextual guidance from the text itself.

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

remix_plex_trackA

Take a track from Plex library and create an AI remix.

Workflow:

  1. Search Plex for the track

  2. Extract stems (vocals, instruments, bass, drums)

  3. Send stems + style to Suno for reimagining

  4. Generate new remix

  5. Load to VirtualDJ deck

ParametersJSON Schema
NameRequiredDescriptionDefault
deck_idNoDeck to load remix to
plex_searchYesSearch query for Plex library
remix_styleYesStyle for the remix Example: "drum and bass", "lo-fi", "orchestral"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 it does disclose meaningful behavior: a multi-stage pipeline with an external AI service (Suno), intermediate stem extraction, and a side effect on live state ('Load to VirtualDJ deck'). It omits latency/expected duration, failure and partial-completion behavior (e.g. if Suno fails after stems are extracted), and whether the target deck is overwritten.

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 followed by a tight five-step numbered workflow; each line carries distinct information and nothing is redundant. It is slightly longer than strictly necessary for a three-parameter tool, but the size is justified by the multi-stage chain.

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 no explanation, and the description covers the operational sequence an agent needs to decide to call it. It could be more complete about preconditions (required services/deck state) and the consequences of the final load step, given this is an unannotated tool with a live-state side effect.

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% (all three parameters are documented in the schema, including the deck_id default and a style example), so the baseline is 3. The description only loosely reinforces the parameters by referencing search (step 1), style (step 3), and deck (step 5), adding no syntax, format, or constraint detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Take a track from Plex library and create an AI remix') and concretely enumerates the pipeline (Plex search → stem extraction → Suno → remix → VirtualDJ deck). The purpose is unambiguous, but it never distinguishes itself from plausible siblings such as ai_mashup or songgen_to_deck, which an agent could easily confuse with this one.

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

Usage Guidelines3/5

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

Usage is implied by the workflow itself: an agent can infer this is the tool for 'remix an existing Plex track into a new style on a deck'. However there is no explicit when-to-use/when-not, no statement of prerequisites (Plex configured, Suno reachable, VirtualDJ running), and no routing away from the many similar AI production siblings.

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

send_midi_noteC

Send a MIDI note to an output device.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesMIDI note number (0-127, middle C = 60)
channelNoMIDI channel (0-15)
velocityNoNote velocity (0-127)
duration_msNoNote duration in milliseconds
device_indexYesIndex of MIDI output device

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full disclosure burden and does not meet it. It never states whether the call blocks for duration_ms, what happens with an invalid device_index, or whether notes are queued or immediate, despite it being a side-effecting call to external hardware.

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

Conciseness3/5

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

The single sentence is front-loaded and free of filler, which is good. However, one sentence is under-specified for a five-parameter, externally-effectful tool with no annotations, so it reads as thin rather than properly sized.

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

Completeness2/5

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

An output schema exists, so return values need no explanation, but with zero annotations and no sibling differentiation the definition omits key operational context: how to source device_index, timing/blocking behavior, and error conditions. An agent can guess correctly but has little support.

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

Parameters3/5

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

Schema description coverage is 100%, with clear per-parameter docs including ranges, defaults, and the middle C reference, so the schema does the heavy lifting. The description adds no additional parameter meaning, which is the expected baseline of 3 under full schema coverage.

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

Purpose4/5

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

The description names a specific verb and resource ('Send a MIDI note') and identifies the target ('an output device'), so the agent knows the effect. It does not differentiate itself from siblings such as play_midi_file or list_midi_devices, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of how device_index is obtained (list_midi_devices), and no contrast with play_midi_file for sequences. The agent must infer the selection criteria entirely from the name.

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

songgen_to_deckB

Generate an AI track using LeVo model and load it to VirtualDJ.

This is the core AI Producer workflow with state-of-the-art AI:

  1. Send lyrics and parameters to SongGeneration LeVo model

  2. Generate high-quality vocals + professional backing tracks

  3. Optional stem separation (vocals/instruments)

  4. Download the generated audio

  5. Load to VirtualDJ deck

  6. Ready to mix!

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoOverall vibe (Energetic, Melancholic, Happy, Dark, etc.)Energetic
genreNoMusical genre (Electronic, Pop, Rock, Hip-Hop, etc.)Electronic
tempoNoBPM (Beats Per Minute, 60-180)
voiceNoVocal type ("Male" or "Female")Male
lyricsYesComplete lyrics for the song (supports Markdown formatting)
deck_idNoVirtualDJ deck to load to (1-8)
separate_stemsNoGenerate separate vocal/instrument tracks

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 the pipeline: parameters go to the LeVo model, vocals+backing are produced, stem separation is optional, audio is downloaded and loaded. However, it omits operational traits such as expected latency, whether the download is persisted, failure behavior, or any auth prerequisites for a multi-step long-running job.

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

Conciseness3/5

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

The numbered steps are well-structured and front-load the outcome in the first sentence. But the marketing filler ('core AI Producer workflow with state-of-the-art AI', 'professional backing tracks', 'Ready to mix!') adds length without information and dilutes the definition.

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 7-param tool with 100% schema coverage and an output schema (so return values need not be described), the pipeline summary is adequate. It still omits the operational context an agent needs for a multi-step generative job, such as duration and any precondition for loading to a deck.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (mood, genre, tempo, voice, deck_id, separate_stems) is already documented in the schema with defaults and ranges. The description adds no syntax or format detail beyond the schema's own coverage of the optional stem-separation step.

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: generate an AI track via LeVo and load it to a VirtualDJ deck. The two-sided outcome (generation plus deck loading) is distinctive. It doesn't explicitly differentiate itself from siblings like ai_produce_track or ai_orchestrate_production, which the phrase 'core AI Producer workflow' arguably overlaps with.

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 numbered list describes the internal pipeline, not when to choose this tool over ai_produce_track or the other production siblings. There is no explicit when-to-use or when-not guidance, leaving routing to inference.

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. 22 tool updatesv0.1.0
    • First observedai_analyze_production
    • First observedai_colaborate_workflow
    • First observedai_dj_set
    • First observedai_mashup
    • First observedai_orchestrate_production
    • First observedai_produce_track
    • First observedai_stream_production
    • First observedalbum_factory
    • First observedbpm_bridge_generator
    • First observedhub_status
    • First observedkaraoke_generator
    • First observedlist_midi_devices
    • First observedlive_stream_producer
    • First observedmidi_monitor
    • First observedmidi_to_ai_seed
    • First observedmidi_to_reaper
    • First observedplay_midi_file
    • First observedproducer_help
    • First observedrecord_midi_performance
    • First observedremix_plex_track
    • First observedsend_midi_note
    • First observedsonggen_to_deck

TDQS

B3.1/5.0

Scored across 22 tools

Disambiguation3/5

The MIDI tools (record_midi_performance, send_midi_note, play_midi_file, midi_monitor, list_midi_devices) are clearly distinct, but the AI workflow tools overlap heavily: ai_produce_track, ai_orchestrate_production, and ai_colaborate_workflow all describe autonomous AI orchestration, and live_stream_producer vs ai_stream_production appear to do nearly the same thing. Descriptions help somewhat but boundaries between the AI-orchestration tools are genuinely fuzzy.

Naming Consistency4/5

All names use snake_case, which is consistent, and many follow a verb_noun pattern (send_midi_note, play_midi_file, list_midi_devices). There are deviations (ai_* prefixed tools, noun-style album_factory/karaoke_generator/hub_status) and a typo (ai_colaborate_workflow), but the surface remains readable and predictable.

Tool Count3/5

At 22 tools this sits in the heavy range for a server whose purpose is one production pipeline, and several tools (multiple AI-orchestration and streaming variants) feel redundant rather than each earning its place. It is not extreme, but it leans toward over-provisioned.

Completeness4/5

The domain (AI music production and DJ mixing) is covered broadly: MIDI I/O, track/album generation, remix, mashup, karaoke, streaming, and library integration. Minor gaps exist around explicit track editing/mixing controls, but core lifecycle workflows are represented.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers