dandeliongold/mcp-decent-sampler-drums
If you are the rightful owner of mcp-decent-sampler-drums and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol server for generating Decent Sampler drum kit configurations.
Tools
Functions exposed to the LLM to take actions
configure_drum_controls
Configure global pitch and envelope controls for each drum type.
This tool will:
- Add per-drum pitch controls with customizable ranges
- Configure ADSR envelope settings for natural decay control
- Generate proper XML structure for global drum controls
Error Handling:
- Validates pitch range values (min/max must be valid numbers)
- Ensures envelope times are positive values
- Verifies curve values are within -100 to 100 range
- Returns detailed error messages for invalid configurations
Success Response: Returns XML structure containing:
- Global controls for each drum type
- MIDI CC mappings for real-time control
- Properly formatted parameter bindings
configure_round_robin
Configure round robin sample playback for a set of samples.
This tool will:
- Validate sequence positions
- Verify sample files exist
- Generate proper XML structure for round robin playback
Error Handling:
- Checks if sample files exist at specified paths
- Validates sequence positions are unique and sequential
- Ensures mode is one of: round_robin, random, true_random, always
- Returns specific error messages for missing files or invalid sequences
Success Response: Returns XML structure with:
- Configured playback mode
- Sample sequence assignments
- Proper group organization for round robin playback
analyze_wav_samples
Analyze WAV files to detect common issues in drum kit samples.
This tool checks for:
- Non-standard WAV headers that may cause playback issues
- Metadata inconsistencies that could affect multi-mic setups
- Sample rate and bit depth compatibility
- Channel configuration issues
- File size and format validation
Error Handling:
- Reports detailed header format issues
- Identifies metadata inconsistencies between related samples
- Flags potential playback compatibility problems
- Returns specific error messages for each issue type
Success Response: Returns detailed analysis including:
- WAV header information
- Sample metadata
- Potential compatibility issues
- Recommendations for fixes
IMPORTANT: Always use absolute paths (e.g., 'C:/Users/username/Documents/Samples/kick.wav') rather than relative paths.
configure_mic_routing
Configure multi-mic routing with MIDI controls for drum samples.
This tool will:
- Set up individual volume controls for each mic position (close, OH L/R, room L/R)
- Route each mic to its own auxiliary output for DAW mixing
- Configure MIDI CC mappings for mic volumes
- Generate proper XML structure for DecentSampler
Error Handling:
- Validates mic position assignments
- Checks for duplicate MIDI CC assignments
- Ensures valid output routing targets
- Verifies bus indices are unique and valid
- Returns specific errors for routing conflicts
Success Response: Returns XML structure containing:
- Configured mic bus routing
- Volume control mappings
- MIDI CC assignments
- Complete routing matrix for all samples
generate_drum_groups
Generate DecentSampler
This tool supports two configuration types:
BasicDrumKitConfig:
- For simple presets with minimal features
- No UI controls, effects, or routing
- Only supports basic sample mapping and optional velocity layers
- Recommended for straightforward drum kits
AdvancedDrumKitConfig:
- For complex setups combining multiple features
- Supports UI controls, effects, and routing
- Integrates with other tools (configure_drum_controls, configure_mic_routing, etc.)
- Use when you need advanced features like round robin or multi-mic setups
Best Practices:
- IMPORTANT: Always use absolute paths (e.g., 'C:/Users/username/Documents/Samples/kick.wav')
- Group all samples for a drum piece into a single group
- When using multiple mic positions, include them all in the same group
- Use velocity layers within a group to control dynamics
Error Handling:
- Validates all sample paths exist
- Checks for valid MIDI note numbers
- Ensures velocity layers don't overlap
- Verifies muting group configurations
- Returns specific errors for any invalid settings
Example Configurations:
-
Basic Configuration (simple drum kit): { "globalSettings": { "velocityLayers": [ { "low": 1, "high": 42, "name": "soft" }, { "low": 43, "high": 85, "name": "medium" }, { "low": 86, "high": 127, "name": "hard" } ] }, "drumPieces": [{ "name": "Kick", "rootNote": 36, "samples": [ {"path": "C:/Samples/Kick_Soft.wav"}, {"path": "C:/Samples/Kick_Medium.wav"}, {"path": "C:/Samples/Kick_Hard.wav"} ] }] }
-
Advanced Configuration (multi-mic kit with controls): { "globalSettings": { "velocityLayers": [ { "low": 1, "high": 127, "name": "full" } ], "drumControls": { "kick": { "pitch": { "default": 0, "min": -12, "max": 12 }, "envelope": { "attack": 0.001, "decay": 0.5, "sustain": 0, "release": 0.1 } } }, "micBuses": [ { "name": "Close Mic", "outputTarget": "MAIN_OUTPUT", "volume": { "default": 0, "midiCC": 20 } } ] }, "drumPieces": [{ "name": "Kick", "rootNote": 36, "samples": [ { "path": "C:/Samples/Kick_Close.wav", "micConfig": { "position": "close", "busIndex": 0 } } ], "muting": { "tags": ["kick"], "silencedByTags": [] } }] }
Success Response: Returns complete XML structure with:
- Organized sample groups
- Velocity layer mappings
- Muting group configurations
- All sample references and settings
- Advanced features when using AdvancedDrumKitConfig
Prompts
Interactive templates invoked by user choice
advanced_preset_guidelines
Guidelines for structuring complex Decent Sampler preset files including support for buses, round robin, velocity layers, etc.
simple_preset_guidelines
Guidelines for structuring simple Decent Sampler preset files.
Resources
Contextual data attached and managed by the client