mixxx-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., "@mixxx-mcpplay deck 1"
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.
mixxx-mcp
MCP (Model Context Protocol) server for Mixxx DJ Software. Lets AI agents (Claude, Claude Code, etc.) control Mixxx in real time — transport, mixing, EQ, loops, hotcues, effects.
Architecture
AI Agent (Claude)
│
▼ MCP tools
mixxx-mcp Python Server
│ ┌─────────────────────┐
├─ MIDI CC out ───────▶│ Virtual MIDI port │
│ │ "mixxx-mcp" │
│ └────────┬────────────┘
│ ▼ CC → engine.setValue()
│ ┌────────────────────┐
│ │ Mixxx + mixxx-mcp │
│ │ .js controller │
│ │ script │
◀── OSC UDP ──────────┤ broadcasts state │
OscStateStore └────────────────────┘Write path: mcp.tool → MidiBridge → rtmidi CC → Mixxx JS script → engine.setValue()
Read path: Mixxx JS → OSC UDP → OscStateStore → mcp.tool → AI
Related MCP server: ableton-mcp-server
Setup
1. Install Python server
pip install -e ".[dev]"
# or without dev deps:
pip install mcp python-osc python-rtmidi2. Install Mixxx controller script
Copy both files to your Mixxx controllers directory:
# macOS
cp mixxx-mcp.js mixxx-mcp.midi.xml \
~/Library/Containers/org.mixxx.mixxx/Data/Library/Application\ Support/Mixxx/controllers/
# Linux
cp mixxx-mcp.js mixxx-mcp.midi.xml ~/.mixxx/controllers/
# Windows
cp mixxx-mcp.js mixxx-mcp.midi.xml %LOCALAPPDATA%\Mixxx\controllers\3. Enable in Mixxx
Open Mixxx → Preferences → Controllers
Select mixxx-mcp from the device list
Check Enable
Click OK
Note (Windows): Virtual MIDI ports require loopMIDI. Create a port named
mixxx-mcpbefore starting the server.
4. Run the MCP server
# stdio mode (Claude Desktop / claude-code)
python main.py
# HTTP mode (remote / multi-client)
python main.py --http --port 80805. Configure Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"mixxx": {
"command": "python",
"args": ["/path/to/mixxx-mcp/main.py"],
"env": {}
}
}
}Available Tools
Tool | Description |
| Start playback |
| Stop playback |
| Trigger CUE |
| Toggle BPM sync |
| Channel fader 0.0–1.0 |
| Crossfader -1.0–1.0 |
| EQ bands 0.0–4.0 |
| Trim 0.0–4.0 |
| Tempo pitch -1.0–1.0 |
| Tempo nudge up/down |
| Activate beat loop |
| Deactivate loop |
| Resize loop |
| Set hotcue 1–8 |
| Jump to hotcue |
| Delete hotcue |
| Jump ±N beats |
| Read live deck state |
| Read master mixer state |
| Full OSC state dump |
| Raw control escape hatch |
| Effect on/off |
| Effect wet/dry |
OSC State
Mixxx broadcasts control changes via the JS script's engine.makeConnection() callbacks.
The Python server listens on UDP 57121 at path /mixxx/<group>/<key>.
To fully enable OSC push (vs poll), the JS callbacks in mixxx-mcp.js need to forward
values via a UDP socket. This requires a Mixxx build with liblo, or you can extend
the JS script to use XMLHttpRequest to POST state to a local HTTP endpoint.
Mixxx Controls Reference
Full control list: https://manual.mixxx.org/latest/en/chapters/appendix/mixxx_controls.html
Key groups:
[Channel1]–[Channel4]— Decks[Master]— Mixer master[Sampler1]–[Sampler64]— Samplers[EffectRack1_EffectUnit1]–[_EffectUnit4]— Effect units[EffectRack1_EffectUnit1_Effect1]–[_Effect3]— Individual effects[Playlist]— Library navigation
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/cloudygetty-ai/mixxx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server