voicemeeter-mcp
Click on "Install 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., "@voicemeeter-mcpReduce the gain on strip labeled 'Game' by 10 dB"
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.
voicemeeter-mcp
An MCP (Model Context Protocol) server for controlling Voicemeeter (Basic, Banana, or Potato) on Windows: strip and bus gains, mutes, output routing, live levels, macro buttons, presets, and audio-engine restarts.
Uses the official Voicemeeter Remote API (via voicemeeter-api).
Windows-only, local-only — the Remote API is an in-process DLL, so this server must run on the PC where Voicemeeter runs. From another machine, connect over SSH stdio (example below).
Every mutating tool accepts
dry_run=trueand returns a preview instead of acting.
Quick start (on the Voicemeeter PC)
# select your edition: basic | banana | potato (default: banana)
set VM_MCP_KIND=banana
claude mcp add voicemeeter -s user -- uvx voicemeeter-mcpFrom a different machine (SSH stdio):
claude mcp add voicemeeter -s user -- ssh streampc "uvx voicemeeter-mcp"Related MCP server: reaper-mcp
Tools
Tool | Purpose |
| full snapshot: every strip/bus with label, gain, mute, routing |
| input fader control |
| send a strip to A1/A2/A3/B1/B2 outputs |
| output control |
| live post-fader levels — find silent or clipping paths |
| press a Voicemeeter macro button |
| load a settings XML |
| the classic crackle fix |
| connection + version |
A typical agent ask: "the game audio is too loud on stream" →
mixer_state to find the strip by label → set_strip_gain(strip, -12).
Development
pip install -e '.[dev]'
ruff check src tests && pytestTests run anywhere (fake Remote API); only live use requires Windows.
License
MIT
Available Tools
17 toolsdiff_vs_snapshotA
Compare the LIVE mixer state against a saved snapshot — answers 'what changed since the known-good config'. Snapshot must live in the snapshot directory (as written by snapshot_state).
| Name | Required | Description | Default |
|---|---|---|---|
| snapshot_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It describes the comparison action but does not explicitly state non-destructive nature or error conditions. For a comparison tool, behavior is moderately clear.
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 concise sentences, front-loaded with purpose. No wasted words; efficient and clear.
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?
Tool has one parameter, no output schema, no annotations. Description covers purpose and param context adequately but does not hint at output format. Overall adequate for a simple diff 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?
Single parameter 'snapshot_path' has no schema description (0% coverage). Description adds context that snapshot must be in the directory from snapshot_state, which aids understanding but lacks format details or examples.
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?
Description clearly states 'compare the LIVE mixer state against a saved snapshot' with a specific verb and resource. Distinguishes from sibling tools like mixer_state and snapshot_state.
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?
Provides context that snapshot must be in the directory written by snapshot_state, implying usage after that tool. But lacks explicit when-to-use vs alternatives or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_levelsA
Current audio levels (post-fader) per strip and bus — spot silent or clipping paths.
| Name | Required | Description | Default |
|---|---|---|---|
No 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 levels are 'post-fader' and per strip/bus, which is useful behavioral context. However, it does not mention whether it's a snapshot or real-time, or if any prerequisites exist.
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 sentence of 12 words, front-loaded with the core action ('Current audio levels (post-fader) per strip and bus'), with no redundant words. Every word earns its place.
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 tool with no parameters and no output schema, the description is complete: it defines scope (strips and buses), timing (post-fader), and intent (spot silent/clipping). It provides sufficient information for an agent to use it correctly.
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?
There are zero parameters, so baseline is 4. The description adds significant value by specifying 'post-fader', 'per strip and bus', and the use case of spotting silent/clipping paths, exceeding the minimal requirement.
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 clearly states 'Current audio levels' with a specific verb+resource, and 'post-fader per strip and bus' distinguishes it from sibling tools like mixer_state (state overview) and set_strip_gain (gain adjustment).
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 explicitly says 'spot silent or clipping paths', providing a clear use case. It does not explicitly state when not to use it, but the context of sibling tools implies it's for monitoring rather than setting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Verify connection to Voicemeeter and report kind/version.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. It clearly states the tool verifies connection and reports kind/version, implying a read-only operation with no side effects. The behavior is transparent.
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 description is a single sentence that conveys the essential information without any fluff. It is appropriately concise and front-loaded.
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 the tool's simplicity (zero parameters, no output schema, no annotations), the description is complete. It explains what the tool does and what it returns, which is sufficient for an agent to use it correctly.
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 has zero parameters and schema coverage is 100%, so the description adds no parameter information. Baseline score for zero parameters is 4, and the description does not need to add anything beyond what the schema already provides.
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 clearly states the tool's purpose: to verify connection to Voicemeeter and report kind/version. It uses a specific verb-resource pairing and distinguishes from sibling tools by its unique function.
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 usage for checking connectivity but provides no explicit guidance on when to use this tool versus alternatives, nor when not to use it. For such a simple tool, this is adequate but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_presetC
Load a Voicemeeter settings XML preset from the local filesystem.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| xml_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'load' without disclosing side effects (e.g., overwriting current settings, error behavior on missing file, or immediate application).
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 description is a single concise sentence, front-loading the action and resource. However, it sacrifices essential details for brevity, making it less helpful overall.
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 no output schema and no annotations, the description is too sparse. It omits critical context like success/failure conditions, file format expectations, and whether the preset is applied to current session or saved 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 coverage is 0%, meaning the description adds no information about parameters. The schema provides names and types, but no descriptions or constraints for xml_path or dry_run. The description does not clarify their meaning or usage.
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 clearly states the verb 'load' and the resource 'Voicemeeter settings XML preset' from a specific location (local filesystem). This distinguishes it from siblings like mixer_state or set_strip_gain, which operate on individual settings.
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 provides no guidance on when to use this tool versus alternatives like individual parameter setters. No prerequisites, restrictions, or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixer_stateA
Full mixer snapshot: every strip and bus with label, gain, mute, routing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral traits such as cost, idempotency, or whether it's a read-only operation. Minimal transparency beyond stating the output scope.
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?
Extremely concise single sentence that front-loads the key information (scope and attributes). No superfluous content.
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 zero-parameter tool, description is largely complete. However, lacks details on output format or any potential performance implications. Slight gap given no output schema.
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?
Tool has no parameters, so description need not add parameter meaning. Baseline 4 is 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?
Description clearly states it returns a full mixer snapshot including strips and buses with specific attributes (label, gain, mute, routing). This distinguishes it from sibling tools that perform individual actions.
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?
No explicit guidance on when to use this tool versus alternatives. It implies use for overview, but lacks comparative context to sibling tools like get_levels or snapshot_state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mute_busC
Mute or unmute an output bus.
| Name | Required | Description | Default |
|---|---|---|---|
| bus | Yes | ||
| muted | Yes | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden, but it only states the action without disclosing behavioral details like side effects, reversibility, or what 'muted' implies.
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 description is a single sentence with no extraneous words, achieving maximum conciseness and front-loading the core 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?
Given the presence of 3 parameters and no output schema, the description is incomplete: it fails to explain parameter meanings, return values, or tool behavior, requiring significant inference.
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?
With 0% schema description coverage, the description adds no meaning to parameters like bus (integer), muted (boolean), or dry_run (boolean), leaving their semantics entirely implicit.
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 'Mute or unmute an output bus' clearly specifies the action (mute/unmute) and the resource (output bus), making the purpose unambiguous and distinct from sibling tools like mute_strip.
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?
No guidance is provided on when to use this tool versus alternatives such as mixer_state or mute_strip, nor any conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mute_stripC
Mute or unmute an input strip.
| Name | Required | Description | Default |
|---|---|---|---|
| muted | Yes | ||
| strip | Yes | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'mute or unmute'. It doesn't disclose effects, reversibility, error handling, or any other behavioral traits.
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 description is very short and front-loaded, but it is under-specified. Conciseness is good, but it lacks necessary details.
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 3 parameters (2 required), no output schema, and multiple sibling tools, the description is far from complete. It doesn't cover parameter meanings, return behavior, or usage context.
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 0%, but the description adds no parameter explanations. It doesn't clarify what 'muted' boolean means, how 'strip' is identified, or what 'dry_run' does.
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?
Description clearly states verb (mute/unmute) and resource (input strip). It distinguishes from sibling 'mute_bus' by specifying 'strip' rather than 'bus'.
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?
No guidance on when to use this tool versus alternatives like mute_bus, set_strip_gain, etc. The description just states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restart_audio_engineA
Restart the Voicemeeter audio engine (fixes crackle/desync; brief dropout).
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. Discloses 'brief dropout' as a behavioral consequence, adding value beyond the name. However, could mention if audio output is affected during restart.
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?
Extremely concise single sentence with front-loaded action and essential details. No filler words; every part adds value.
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 low complexity (1 param, no output schema, no annotations), the description covers purpose and a key side effect. Missing parameter explanation, but overall adequate for a simple restart 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?
Single parameter 'dry_run' is not described in the description. Schema coverage is 0%, so the description should explain that parameter but does not, leaving the AI agent uncertain about its function.
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?
Clearly states verb 'Restart' and resource 'Voicemeeter audio engine', with specific purpose (fix crackle/desync) and a noted side effect (brief dropout). No ambiguity.
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?
Implies usage for audio issues like crackle/desync, but does not explicitly state when to use vs alternatives or when not to use. No exclusion or alternative tools mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_bus_eqC
Enable or disable the parametric EQ on a bus.
| Name | Required | Description | Default |
|---|---|---|---|
| bus | Yes | ||
| dry_run | No | ||
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states the toggle action but does not mention side effects, permissions, reversibility, or impact on existing EQ settings. This is insufficient for an agent to understand behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, achieving high conciseness. However, it could be improved with structured details (e.g., parameter explanations) without sacrificing brevity.
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 the simple tool (3 params, no output schema, no annotations), the description is too sparse. It omits parameter clarifications, usage context, and behavioral notes, leaving the agent with insufficient information to use the tool effectively.
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 0%, so the description must compensate. It provides no details about the 'bus' integer, the purpose of 'dry_run', or the 'enabled' boolean beyond what the schema property names imply. The description adds minimal semantic value 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 description explicitly states the action ('Enable or disable') and the resource ('parametric EQ on a bus'). It clearly differentiates from sibling tools like set_bus_gain or mute_bus, which operate on different properties.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., set_strip_comp for compressor EQ or other EQ adjustments). The description lacks context about prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_bus_gainC
Set a bus (output) gain in dB.
| Name | Required | Description | Default |
|---|---|---|---|
| bus | Yes | ||
| dry_run | No | ||
| gain_db | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source for behavior. It does not disclose possible side effects, limits, or whether changes are immediate. Lacks details about range or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it sacrifices essential information. It is not front-loaded with key details.
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 no output schema and minimal description, the tool fails to explain what happens after setting gain (e.g., confirmation, return value). Incomplete for an audio tool with multiple parameters.
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 0%, and the description does not explain the parameters beyond mentioning 'dB' which applies to gain_db. The 'bus' and 'dry_run' parameters are left undefined.
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 clearly states it sets a bus gain in dB, identifying the resource (bus) and action (set gain). It implicitly distinguishes from sibling 'set_strip_gain' by specifying bus vs strip, but could be more explicit.
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?
No guidance on when to use this tool vs alternatives like 'set_strip_gain' or 'mute_bus'. Missing context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_strip_compC
Set a strip's compressor knob (0.0 = off … 10.0 = max).
| Name | Required | Description | Default |
|---|---|---|---|
| strip | Yes | ||
| amount | Yes | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden for behavioral disclosure. It only states the action and range, omitting details such as whether the setting is persistent, destructive, or requires specific permissions. The dry_run parameter is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource. It is concise, but could be restructured to include parameter explanations without adding much length.
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 three parameters, no output schema, and no annotations, the description is insufficient. It does not explain the return value, the effect of the dry_run parameter, or how to identify the strip. The agent is left with 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 0%, so the description must add meaning. It provides the valid range for 'amount' (0.0 to 10.0) but does not explain 'strip' (which strip?) or 'dry_run'. This leaves the agent to infer their meanings from context.
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 clearly states the action ('Set') and the resource ('strip's compressor knob') with a specific range for the amount parameter. It distinguishes from sibling tools like set_strip_gain and mute_strip. However, it could be more explicit about what the compressor knob controls (e.g., threshold, ratio).
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?
No guidance is provided on when to use this tool versus alternatives like set_strip_gain or mute_strip. There is no indication of prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_strip_deviceA
Bind a hardware strip to a physical input device. driver: wdm|mme|ks|asio. Hardware strips only (virtual strips have no device).
| Name | Required | Description | Default |
|---|---|---|---|
| strip | Yes | ||
| driver | No | wdm | |
| dry_run | No | ||
| device_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It mentions driver options and the hardware-only constraint, but lacks details about side effects (e.g., whether binding replaces an existing device) or error conditions.
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 description is extremely concise, using two short sentences to convey the main action and a critical constraint. No unnecessary words are present.
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 4 parameters and no output schema or annotations, the description is insufficient. It omits details on the strip integer range, device_name format, dry_run behavior, and return value, making it hard for an agent to use correctly.
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 description only elaborates on the 'driver' parameter by listing its enum values. The other parameters (strip, device_name, dry_run) are not explained, and the schema has 0% coverage, leaving the agent to guess their meaning.
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 clearly states the action: 'Bind a hardware strip to a physical input device.' It also distinguishes from virtual strips, making the tool's purpose unambiguous.
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 specifies that this tool is for hardware strips only and that virtual strips have no device, providing clear when-to-use guidance. However, it does not explicitly contrast with sibling tools or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_strip_gainA
Set a strip's fader gain in dB (0 = unity; range -60..+12).
| Name | Required | Description | Default |
|---|---|---|---|
| strip | Yes | ||
| dry_run | No | ||
| gain_db | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description provides the gain range and unity point, which is useful. However, it does not disclose the effect of the dry_run parameter, whether the operation is destructive, or what happens if the strip does not exist. The description is adequate but could be more thorough.
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 description is a single, front-loaded sentence with no wasted words. Every part adds value: verb, resource, unit, constraints.
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 simple setter, the description covers the main parameter but omits details on dry_run, error cases, and return behavior. With no output schema, the agent might not know what to expect after invocation. Somewhat incomplete but not critically so.
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 0% and the description does not explain individual parameters. It mentions gain_db implicitly but provides no details on strip or dry_run. The description fails to compensate for the missing schema descriptions.
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 clearly states the verb 'Set' and the resource 'a strip's fader gain', including the unit (dB) and value constraints (0 = unity; range -60..+12). This distinguishes it well from siblings like set_bus_gain (bus vs strip).
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 usage for adjusting strip gain, but does not explicitly state when to use it versus alternatives like mute_strip or set_strip_routing. No guidance on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_strip_gateC
Set a strip's noise-gate knob (0.0 = off … 10.0 = max).
| Name | Required | Description | Default |
|---|---|---|---|
| strip | Yes | ||
| amount | Yes | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It only mentions the range of the knob but does not disclose side effects, persistence, or realtime behavior. For a mutation tool, this is insufficient.
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 sentence with no verbosity. It is appropriately concise, but the structure could be improved by separating parameter details or adding usage context.
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 3 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the effect of dry_run or how strip is identified. The tool's overall behavior is under-specified.
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?
With 0% schema coverage, the description must compensate. It only explains the 'amount' parameter's range. The 'strip' and 'dry_run' parameters are undocumented, leaving the agent guessing their meaning.
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 clearly states the tool sets a strip's noise-gate knob with a specified range (0.0 to 10.0). It uses a specific verb and resource, distinguishing it from siblings like set_strip_gain or mute_strip.
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?
No guidance on when to use this tool versus alternatives (e.g., other strip settings). The description implies usage for adjusting gate but lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_strip_routingC
Send or stop sending a strip to an output. route: A1|A2|A3|B1|B2 (kind-dependent).
| Name | Required | Description | Default |
|---|---|---|---|
| route | Yes | ||
| strip | Yes | ||
| dry_run | No | ||
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full behavioral burden. It only states the basic toggle action and route values, but omits side effects, whether it replaces or adds to existing routes, permission requirements, or any other behavioral traits. The phrase 'kind-dependent' adds ambiguity.
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 description is extremely concise: two short sentences. It is front-loaded with the main action. However, it could be more informative without losing conciseness; some sentences (like the route list) are necessary but the whole description feels too brief for a tool with 4 parameters.
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 tool with 4 parameters (3 required) and no output schema, the description is insufficient. It does not cover all parameters, lacks return value information, and does not explain how routing interacts with other mixing operations. Sibling tools suggest this is part of a larger audio mixing context, but the description fails to provide enough context for correct usage.
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 0%, requiring the description to explain all parameters. The description only mentions the 'route' parameter with its enum values, but does not explain 'strip', 'dry_run', or 'enabled'. These parameters remain underdocumented, making it harder for the agent to use the tool correctly.
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 clearly states the action 'send or stop sending a strip to an output' with a specific verb and resource. It also specifies the route values (A1|A2|A3|B1|B2) but does not distinguish this tool from sibling tools like set_strip_gain or mute_strip, which have different purposes.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or scenarios where this tool is appropriate or inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapshot_stateA
Save the full mixer state (gains, mutes, routing, comp/gate, EQ) to a named snapshot file (letters/digits/_/- only). Take one when the stream sounds RIGHT.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | baseline |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses filename validation constraints and that it saves full mixer state. However, does not mention overwrite behavior, permissions, or destructive potential.
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?
Single sentence with no wasted words. Front-loads the action and includes essential detail about state scope and naming rule.
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 simple tool with one parameter and no output schema, description fully covers purpose, usage hint, and parameter constraint. No gaps given the tool's complexity.
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?
Input schema has 0% coverage and only parameter 'name' with default. Description adds meaningful constraint: filename must be letters/digits/_/- only, providing key semantic that schema lacks.
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 verb 'Save', resource 'full mixer state', and filename constraint 'letters/digits/_/- only'. Clearly distinguishes from siblings like 'load_preset' and 'diff_vs_snapshot'.
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?
Provides specific usage context: 'Take one when the stream sounds RIGHT.' While implicit, it gives clear when-to-use direction. No explicit when-not or alternatives, but sibling list aids differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_macro_buttonC
Press-and-release a Voicemeeter macro button by index.
| Name | Required | Description | Default |
|---|---|---|---|
| button | Yes | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; description only mentions 'press-and-release' but does not disclose side effects, required permissions, or any behavioral traits beyond the basic action.
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?
Single, concise sentence with no redundant words; front-loaded with key action and target.
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?
Lacks explanation of parameters, return values (no output schema), and behavioral details; minimal for a tool with two parameters.
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 0%, and the description adds no meaning for the two parameters ('button' and 'dry_run') beyond their names.
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 clearly states the verb 'Press-and-release' and the resource 'Voicemeeter macro button by index', which distinguishes it from sibling tools like mixer_state or set_strip_gain.
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?
No guidance on when to use this tool versus alternatives, no exclusions or prerequisites provided.
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. Dates show when Glama detected each change.
17 tool updates
v0.1.0- First observed
diff_vs_snapshot - First observed
get_levels - First observed
health_check - First observed
load_preset - First observed
mixer_state - First observed
mute_bus - First observed
mute_strip - First observed
restart_audio_engine - First observed
set_bus_eq - First observed
set_bus_gain - First observed
set_strip_comp - First observed
set_strip_device - First observed
set_strip_gain - First observed
set_strip_gate - First observed
set_strip_routing - First observed
snapshot_state - First observed
trigger_macro_button
TDQS
Each tool targets a distinct aspect of mixer control (strip vs bus, gain vs mute, state vs levels, snapshot vs diff). No overlapping purposes.
All tools use snake_case with a clear verb_noun pattern (e.g., set_strip_gain, mute_bus). Even compound names like restart_audio_engine follow the same style.
17 tools is slightly high but still reasonable for a comprehensive audio mixer interface. Each tool serves a specific function without redundancy.
Covers core mixer operations (gain, mute, routing, compression, gate, EQ), presets, snapshots, and diagnostics. Minor gap: bus EQ only toggles enable/disable, no parametric control.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
MCP server for Speech-to-Text
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that lets language models interact with the Reaper DAW1MIT
- FlicenseAqualityCmaintenanceAn MCP server that gives Claude Code (or any MCP client) full control of Reaper.53-
- AlicenseAqualityCmaintenanceA loopback-bound MCP server that enables MCP clients to control Ableton Live (set tempo, create tracks/clips, add MIDI notes, start/stop playback) over a secure local-only connection.21MIT
- AlicenseAqualityBmaintenanceA local MCP server bridging Bitwig Studio for agent-assisted music workflows, read-only by default with configurable write-policy gates.142MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aaronckj/voicemeeter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server