AI Producer Hub
Provides comprehensive MIDI hardware integration, including device enumeration, performance recording, and AI-assisted content generation from MIDI input.
Supports integration with OpenAI's GPT models for AI-powered music generation and production assistance.
Provides media library management and organization tools.
Enables live streaming and broadcasting with automated content generation and OBS integration.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI Producer HubCreate a complete electronic track about cyberpunk cities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Generate song via LeVo → load to VDJ deck |
| Generate multi-track DJ set across decks |
| Multi-track album, optionally to Plex |
| Set up streaming with AI-generated music |
| Mashup plan from VDJ library search |
| Check all fleet server health |
| Enumerate MIDI hardware |
| 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 streamingSub-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+midofor MIDI tools
Available Tools
22 toolsai_analyze_productionC
AI-powered analysis of production progress and quality.
| Name | Required | Description | Default |
|---|---|---|---|
| analysis_type | No | Type of analysis (comprehensive, technical, creative) | comprehensive |
| production_id | Yes | ID of production to analyze |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user_input | Yes | User's natural language input | |
| conversation_history | No | Previous conversation turns |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Generates multiple tracks based on theme variations
Analyzes BPM and key of each
Orders tracks for harmonic mixing
Loads to VirtualDJ decks
Configures automix
Optionally starts recording
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Overall theme for the set Example: "progressive house summer festival" | |
| bpm_range | No | BPM range for generated tracks | |
| num_tracks | No | Number of tracks to generate (2-8) | |
| duration_minutes | No | Target set duration |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Find tracks in Plex library
Extract stems from both
Analyze compatible elements
Generate mashup arrangement
Load to VirtualDJ for preview
| Name | Required | Description | Default |
|---|---|---|---|
| mashup_style | No | How to blend them "seamless blend", "vocals swap", "rhythm swap", "creative chaos" | seamless blend |
| track_a_search | Yes | Search query for first track | |
| track_b_search | Yes | Search query for second track |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| available_tools | Yes | List of tool names the AI can use | |
| workflow_description | Yes | Natural language description of desired workflow |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | Target BPM | |
| genre | No | Musical genre | Electronic |
| theme | Yes | Production theme/concept | |
| complexity | No | Production complexity level | professional |
| midi_input | No | Optional MIDI file path for melody extraction | |
| voice_type | No | Male/Female vocals | Male |
| duration_seconds | No | Track duration |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Streaming theme | |
| platform | No | Streaming platform | twitch |
| duration_hours | No | Stream duration |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Creates track list with variations on theme
Generates all tracks via Suno
Masters each track
Creates album metadata
Saves to Plex library
| Name | Required | Description | Default |
|---|---|---|---|
| num_tracks | No | Number of tracks (5-20) | |
| album_theme | Yes | Overall album concept | |
| album_title | No | Optional album title (auto-generated if empty) | |
| save_to_plex | No | Whether to add to Plex library |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Musical style for the bridge | electronic |
| target_bpm | Yes | Ending BPM | |
| current_bpm | Yes | Starting BPM |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Send lyrics to Suno with style
Generate full song
Load to VirtualDJ
Enable karaoke mode (removes vocals, shows lyrics)
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Musical style | pop ballad |
| lyrics | Yes | Song lyrics (or theme for AI lyrics) | |
| deck_id | No | Deck to load to |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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"] }
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Start OBS streaming
Generate initial tracks
Start VirtualDJ mixing
Continuously generate new tracks
Hot-swap new tracks into the mix
Run for specified duration
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Theme for generated music | |
| platform | No | Streaming platform (twitch, youtube, etc.) | twitch |
| duration_hours | No | Stream duration | |
| generate_interval_minutes | No | How often to generate new tracks |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| device_index | No | Input device index | |
| duration_seconds | No | How long to monitor |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Analyzes the musical content
Extracts key, tempo, chord progression
Creates a prompt for AI expansion
Generates full track based on your input
| Name | Required | Description | Default |
|---|---|---|---|
| midi_file | Yes | Path to MIDI file (your recording) | |
| expansion_style | No | How to expand it: - "elaborate" - Add complexity and layers - "extend" - Make it longer - "harmonize" - Add harmonies - "full_production" - Complete track | elaborate |
| target_duration | No | Target length in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| midi_file | Yes | Path to MIDI file | |
| track_name | No | Name for the new track in Reaper | MIDI Recording |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| midi_file | Yes | Path to MIDI file | |
| device_index | No | Output device index |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Help topic (overview, generation, mixing, streaming, examples) | overview |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| output_file | No | Path to save MIDI file (auto-generated if empty) | |
| device_index | No | Index of MIDI input device (from list_midi_devices) | |
| duration_seconds | No | How long to record (5-300 seconds) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Search Plex for the track
Extract stems (vocals, instruments, bass, drums)
Send stems + style to Suno for reimagining
Generate new remix
Load to VirtualDJ deck
| Name | Required | Description | Default |
|---|---|---|---|
| deck_id | No | Deck to load remix to | |
| plex_search | Yes | Search query for Plex library | |
| remix_style | Yes | Style for the remix Example: "drum and bass", "lo-fi", "orchestral" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | MIDI note number (0-127, middle C = 60) | |
| channel | No | MIDI channel (0-15) | |
| velocity | No | Note velocity (0-127) | |
| duration_ms | No | Note duration in milliseconds | |
| device_index | Yes | Index of MIDI output device |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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:
Send lyrics and parameters to SongGeneration LeVo model
Generate high-quality vocals + professional backing tracks
Optional stem separation (vocals/instruments)
Download the generated audio
Load to VirtualDJ deck
Ready to mix!
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Overall vibe (Energetic, Melancholic, Happy, Dark, etc.) | Energetic |
| genre | No | Musical genre (Electronic, Pop, Rock, Hip-Hop, etc.) | Electronic |
| tempo | No | BPM (Beats Per Minute, 60-180) | |
| voice | No | Vocal type ("Male" or "Female") | Male |
| lyrics | Yes | Complete lyrics for the song (supports Markdown formatting) | |
| deck_id | No | VirtualDJ deck to load to (1-8) | |
| separate_stems | No | Generate separate vocal/instrument tracks |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
22 tool updates
v0.1.0- First observed
ai_analyze_production - First observed
ai_colaborate_workflow - First observed
ai_dj_set - First observed
ai_mashup - First observed
ai_orchestrate_production - First observed
ai_produce_track - First observed
ai_stream_production - First observed
album_factory - First observed
bpm_bridge_generator - First observed
hub_status - First observed
karaoke_generator - First observed
list_midi_devices - First observed
live_stream_producer - First observed
midi_monitor - First observed
midi_to_ai_seed - First observed
midi_to_reaper - First observed
play_midi_file - First observed
producer_help - First observed
record_midi_performance - First observed
remix_plex_track - First observed
send_midi_note - First observed
songgen_to_deck
TDQS
Scored across 22 tools
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.
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.
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.
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
Related MCP Connectors
Autonomous music production for AI agents with MIDI generation, QC and provenance.
- VocunoOAuthcom.vocuno
AI music studio: song generation with vocals, covers, stems, voice conversion, mastering, editing.
Manage 24/7 live streams, media, playback queues, schedules, and multistreaming from AI assistants.
Generate, edit and stream royalty-free music, or search a licensed catalogue.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI-driven MIDI composition with chord name support, interactive piano-roll preview, and multiple deployment modes.254MIT
- AlicenseNot gradedqualityDmaintenanceReal-time AI-assisted music production, advanced composition, mixing, and VST coordination for FL Studio via bidirectional MIDI & WebSockets, exposing over 100 tools for comprehensive DAW control.9MIT
- AlicenseNot gradedqualityBmaintenanceAI-powered music production toolkit enabling AI agents to generate, remix, separate stems, master tracks, and control DAWs via MCP.1MIT
- AlicenseBqualityDmaintenanceEnables AI-powered music production in Ableton Live through natural language, with tools for composition, arrangement, mixing, and sound design.52MIT