# Voicemeeter Mcp Server

> MCP Server for Voicemeeter Remote API - Control audio mixing and routing through AI agents

- **Type:** MCP server
- **Install:** `agentstack add mcp-rkzwei-voicemeeter-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [rkzwei](https://agentstack.voostack.com/s/rkzwei)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [rkzwei](https://github.com/rkzwei)
- **Source:** https://github.com/rkzwei/voicemeeter-mcp-server

## Install

```sh
agentstack add mcp-rkzwei-voicemeeter-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Voicemeeter MCP Server

[](https://github.com/rkzwei/voicemeeter-mcp-server/actions/workflows/ci.yml)
[](https://codecov.io/gh/rkzwei/voicemeeter-mcp-server)

A Model Context Protocol (MCP) server that provides AI agents with the ability to control and monitor Voicemeeter audio mixer through the Voicemeeter Remote API.

## Features

- **Full Voicemeeter Control**: Connect to and control all versions of Voicemeeter (Standard, Banana, Potato)
- **Parameter Management**: Get and set any Voicemeeter parameter (mute, gain, routing, etc.)
- **Audio Level Monitoring**: Real-time audio level monitoring for all channels
- **Preset Loading**: Load Voicemeeter presets from XML files
- **Dynamic Resources**: Automatically adapts to the connected Voicemeeter type
- **Application Launching**: Start Voicemeeter applications programmatically

## Supported Voicemeeter Versions

- **Voicemeeter Standard**: 2 hardware inputs + 1 virtual input, 3 outputs
- **Voicemeeter Banana**: 3 hardware inputs + 2 virtual inputs, 5 outputs  
- **Voicemeeter Potato**: 5 hardware inputs + 3 virtual inputs, 8 outputs

## Installation

### Prerequisites

- Python 3.8 or higher
- Voicemeeter installed on Windows
- MCP-compatible client (like Claude Desktop)

### Install from Source

```bash
git clone 
cd voicemeeter-mcp-server
pip install -e .
```

### Install Development Dependencies

```bash
pip install -e ".[dev]"
```

## Usage

### Running the Server

```bash
voicemeeter-mcp-server
```

Or directly with Python:

```bash
python -m voicemeeter_mcp_server.main
```

### MCP Client Configuration

Add to your MCP client configuration (e.g., Claude Desktop):

```json
{
  "mcpServers": {
    "voicemeeter": {
      "command": "voicemeeter-mcp-server",
      "args": []
    }
  }
}
```

## Available Tools

### Connection Management

- **voicemeeter_connect**: Connect to Voicemeeter Remote API
- **voicemeeter_disconnect**: Disconnect from Voicemeeter Remote API
- **voicemeeter_run**: Launch Voicemeeter application (standard/banana/potato)

### Parameter Control

- **voicemeeter_get_parameter**: Get any Voicemeeter parameter value
- **voicemeeter_set_parameter**: Set any Voicemeeter parameter value

### Audio Monitoring

- **voicemeeter_get_levels**: Get real-time audio levels for specified channels

### Preset Management

- **voicemeeter_load_preset**: Load settings from Voicemeeter XML preset files

## Available Resources

### Static Resources

- **voicemeeter://status**: Connection status and Voicemeeter type information
- **voicemeeter://version**: Voicemeeter version and API information
- **voicemeeter://levels**: Current audio levels for all channels

### Dynamic Resources (when connected)

- **voicemeeter://strip/{id}**: Individual input strip parameters
- **voicemeeter://bus/{id}**: Individual output bus parameters

## Parameter Examples

### Common Strip Parameters

```
Strip[0].mute          # Mute strip 0 (0.0 = unmuted, 1.0 = muted)
Strip[0].gain          # Gain in dB (-60.0 to +12.0)
Strip[0].A1            # Route to Bus A1 (0.0 = off, 1.0 = on)
Strip[0].label         # Strip label (string)
Strip[0].device.name   # Input device name (string)
```

### Common Bus Parameters

```
Bus[0].mute            # Mute bus 0
Bus[0].gain            # Bus gain in dB
Bus[0].eq.on           # EQ on/off
Bus[1].mono            # Mono mode
```

## Example Usage

### Connect and Control

```python
# Connect to Voicemeeter
await mcp_client.call_tool("voicemeeter_connect")

# Mute input strip 0
await mcp_client.call_tool("voicemeeter_set_parameter", {
    "parameter": "Strip[0].mute",
    "value": 1.0
})

# Set gain on bus 1
await mcp_client.call_tool("voicemeeter_set_parameter", {
    "parameter": "Bus[1].gain", 
    "value": -6.0
})

# Get current levels
await mcp_client.call_tool("voicemeeter_get_levels", {
    "level_type": 0,
    "channels": [0, 1, 2, 3]
})
```

### Load Preset

```python
# Load a preset configuration
await mcp_client.call_tool("voicemeeter_load_preset", {
    "preset_path": "C:/path/to/preset.xml"
})
```

## Development

### Project Structure

```
voicemeeter-mcp-server/
├── src/
│   └── voicemeeter_mcp_server/
│       ├── __init__.py
│       ├── main.py           # Entry point
│       ├── server.py         # MCP server implementation
│       └── voicemeeter_api.py # Voicemeeter API wrapper
├── tests/                    # Test files
├── presets/                  # Example presets
├── samples/                  # Documentation and samples (not in git)
├── pyproject.toml           # Project configuration
└── README.md
```

### Running Tests

```bash
pytest
```

### Code Formatting

```bash
black src/ tests/
isort src/ tests/
```

### Type Checking

```bash
mypy src/
```

## API Reference

### Voicemeeter Remote API

This server wraps the official Voicemeeter Remote API. For detailed parameter documentation, refer to:

- Voicemeeter Remote API documentation (included in samples/)
- [Official Voicemeeter website](https://vb-audio.com/Voicemeeter/)

### Level Types

- `0`: Input levels (pre-fader)
- `1`: Output levels (pre-fader) 
- `2`: Output levels (post-fader)
- `3`: Output levels (post-mute)

## Troubleshooting

### Automated Troubleshooting

Run the comprehensive troubleshooting script:

```bash
python troubleshoot.py
```

This script will:
- Check system architecture and Python version
- Verify Voicemeeter processes are running
- Test DLL loading and API functions
- Provide detailed diagnostic information

### Common Issues

1. **"Failed to connect to Voicemeeter"**
   - Ensure Voicemeeter is installed and running
   - Try running as administrator
   - Check that no other applications are using the Remote API

2. **"Failed to load DLL"**
   - Verify Voicemeeter installation
   - Check if running 32-bit vs 64-bit Python matches Voicemeeter version

3. **Parameter not found**
   - Verify parameter name syntax: `Strip[0].mute`, `Bus[1].gain`
   - Check if parameter exists for your Voicemeeter version
   - Some parameters are version-specific

### Debug Mode

Set environment variable for verbose logging:

```bash
set VOICEMEETER_DEBUG=1
voicemeeter-mcp-server
```

## Audio Test Samples

Generate audio test files for testing Voicemeeter functionality:

```bash
python generate_audio_samples.py
```

This creates various test files in `audio_samples/`:
- **Basic tones**: 440Hz, 100Hz, 8kHz test tones
- **Stereo test**: Different frequencies in left/right channels
- **Frequency sweep**: 20Hz to 20kHz sweep for frequency response testing
- **Channel identification**: Individual tones for multi-channel testing
- **White noise**: For general audio testing

Use these files to:
- Test audio routing through Voicemeeter
- Verify real-time level monitoring
- Check stereo separation
- Test parameter changes while audio is playing

## Author

**rkzwei** (rk@rkzwei.dev)

- GitHub: [@rkzwei](https://github.com/rkzwei)
- Original author and maintainer of Voicemeeter MCP Server

## License

MIT License - see LICENSE file for details.

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Run the test suite
6. Submit a pull request

## Acknowledgments

- VB-Audio Software for Voicemeeter and the Remote API
- Anthropic for the Model Context Protocol specification
- The MCP community for tools and examples

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [rkzwei](https://github.com/rkzwei)
- **Source:** [rkzwei/voicemeeter-mcp-server](https://github.com/rkzwei/voicemeeter-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-rkzwei-voicemeeter-mcp-server
- Seller: https://agentstack.voostack.com/s/rkzwei
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
