CDP MCP Server
Access Composers' Desktop Project (CDP) sound transformation programs. Requires a separate CDP installation.
CDP MCP Server
A Model Context Protocol (MCP) server that provides direct access to the Composers' Desktop Project (CDP) sound transformation programs. This server offers an ultra-rigid workflow with zero interpretation, exposing CDP's raw functionality through simple, reliable tools.
Overview
CDP MCP Server v7 implements a minimalist approach to CDP integration:
- Direct execution - No command parsing or interpretation
- Raw usage text - See exactly what CDP shows
- Simple tools - Just 6 core functions
- Data file support - Create parameter files for complex operations
Features
- 🎵 Full CDP Access - Execute any CDP program with complete control
- 📚 Program Discovery - List all available CDP programs by category
- 📖 Usage Information - Get raw usage text directly from CDP
- 📄 Data File Creation - Create parameter files required by CDP programs
- 🎛️ Spectral Preparation - Helper for PVOC analysis
- 📊 Sound Analysis - Get basic properties of audio files
Requirements
System Requirements
- macOS, Linux, or Windows
- Python 3.8 or higher
- CDP (Composers' Desktop Project) installed
Python Dependencies
mcp
soundfile
numpy
CDP Installation
- Download CDP from the official website
- Install CDP following the platform-specific instructions
- Set the
CDP_PATHenvironment variable to your CDP programs directory:export CDP_PATH="/path/to/cdp/programs"
Installation
1. Clone the Repository
git clone https://github.com/DavidPiazza/CDP_MCP.git
cd CDP_MCP
2. Install Dependencies
pip install -r requirements.txt
Or install individually:
pip install mcp soundfile numpy
3. Configure CDP Path
Set your CDP installation path:
export CDP_PATH="/Users/yourname/cdpr8/_cdp/_cdprogs" # macOS example
4. Run the Server
python CDP_MCP_v7.py
MCP Client Configuration
To use this server with an MCP client (like Claude Desktop), add to your configuration:
{
"mcpServers": {
"cdp": {
"command": "python",
"args": ["/path/to/CDP_MCP_v7.py"],
"env": {
"CDP_PATH": "/path/to/cdp/programs"
}
}
}
}
Usage
Basic Workflow
-
List Available Programs
list_cdp_programs() # Returns categorized list of all CDP programs -
Get Program Usage
get_cdp_usage('blur') # Returns exact CDP usage text -
Execute Commands
execute_cdp(['blur', 'blur', 'input.ana', 'output.ana', '50']) # Direct execution with no interpretation
Example Operations
Time Stretch
# Check usage
get_cdp_usage('stretch')
# Execute
execute_cdp(['stretch', 'time', '1', 'input.ana', 'output.ana', '2.0'])
Spectral Blur
# Note the double syntax for blur
execute_cdp(['blur', 'blur', 'input.ana', 'output.ana', '50'])
Granular Synthesis
execute_cdp(['modify', 'brassage', '4', 'input.wav', 'output.wav', '0.02', '-0.5', '-r200'])
Using Data Files
# Create data file for tesselate
create_data_file('tess_data.txt', '5 5 5 5\n0.0 0.1 0.2 0.3')
# Execute with data file
execute_cdp(['tesselate', 'tesselate', '1', 'in1.wav', 'in2.wav', 'in3.wav', 'in4.wav', 'output.wav', '0.5', 'tess_data.txt'])
Tools Reference
list_cdp_programs()
Lists all available CDP programs organized by category (Spectral Processing, Time Domain, Synthesis, etc.)
get_cdp_usage(program, subprogram=None)
Returns raw usage information for a CDP program by running it without arguments.
execute_cdp(command)
Executes a CDP command given as an array of strings. No parsing or interpretation.
create_data_file(filepath, content)
Creates text data files required by certain CDP programs.
prepare_spectral(input_file, output_file, window_size=2048)
Helper function to perform PVOC analysis for spectral processing.
analyze_sound(filepath)
Returns basic properties of a sound file (duration, sample rate, channels, etc.)
Architecture
The server follows an ultra-rigid design philosophy:
- No command parsing - Commands are arrays, not strings
- No parameter validation - CDP handles all validation
- No output interpretation - Raw CDP output is returned
- Minimal abstraction - Direct CDP access only
Tips
- Always check usage with
get_cdp_usage()before executing - CDP may return non-zero exit codes even on success
- Check if output files exist to verify successful execution
- Use exact command arrays - the server does no interpretation
- Create data files when CDP usage mentions DATAFILE requirements
Troubleshooting
CDP Not Found
Ensure CDP_PATH environment variable points to your CDP programs directory.
Apple Silicon Issues
The server automatically handles x86_64 emulation on Apple Silicon Macs using arch -x86_64.
Command Failures
- Check the exact usage with
get_cdp_usage() - Verify all file paths exist
- Ensure proper command array format
- Check CDP's stderr output for specific errors
License
MIT License - See LICENSE file for details
Acknowledgments
- Composers' Desktop Project for the amazing sound transformation tools
- Model Context Protocol for the MCP framework
Server Terkait
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
SolTracker
Access real-time and historical token, wallet, and trading data from the Solana ecosystem via the Solana Tracker API.
AAP Enterprise MCP Server
An MCP server that allows AI assistants to interact with Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA) infrastructure.
Claude Code MCP
Orchestrates multiple Claude Code agents across iTerm2 sessions, providing centralized management and inter-agent communication.
MCP Hello World
A minimal MCP server mock in TypeScript for testing MCP clients, supporting both STDIO and HTTP/SSE protocols.
MCP Expr Lang
MCP Expr-Lang provides a seamless integration between Claude AI and the powerful expr-lang expression evaluation engine.
Web3 Playground & Sandbox - Learn, Develop, Test MCP Servers + Toolkit SDK
Free Solidity compiler & Web3 IDE with interactive tutorials. Learn blockchain development, deploy smart contracts to 8+ chains (Ethereum, Polygon, Base, Arbitrum, Solana). Templates for tokens, NFTs, DeFi, DAOs. Monaco Editor, AI assistance, WCAG accessible. Remix alternative. Gas optimization, MetaMask integration, open source. Beginner-friendly. MCP toolkit.
Tauri Development MCP Server
Build, test, and debug mobile and desktop apps with the Tauri framework faster with automated UI interaction, screenshots, DOM state, and console logs from your app under development.
agent smith
Auto-generate AGENTS.md from your codebase
My First MCP
A Model Context Protocol server implemented in Node.js with Docker support.
MCP-ABI
Interact with Ethereum-compatible smart contracts using their ABI.