Access Composers' Desktop Project (CDP) sound transformation programs. Requires a separate CDP installation.
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.
CDP MCP Server v7 implements a minimalist approach to CDP integration:
mcp
soundfile
numpy
CDP_PATH
environment variable to your CDP programs directory:
export CDP_PATH="/path/to/cdp/programs"
git clone https://github.com/DavidPiazza/CDP_MCP.git
cd CDP_MCP
pip install -r requirements.txt
Or install individually:
pip install mcp soundfile numpy
Set your CDP installation path:
export CDP_PATH="/Users/yourname/cdpr8/_cdp/_cdprogs" # macOS example
python CDP_MCP_v7.py
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"
}
}
}
}
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
# Check usage
get_cdp_usage('stretch')
# Execute
execute_cdp(['stretch', 'time', '1', 'input.ana', 'output.ana', '2.0'])
# Note the double syntax for blur
execute_cdp(['blur', 'blur', 'input.ana', 'output.ana', '50'])
execute_cdp(['modify', 'brassage', '4', 'input.wav', 'output.wav', '0.02', '-0.5', '-r200'])
# 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'])
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.)
The server follows an ultra-rigid design philosophy:
get_cdp_usage()
before executingEnsure CDP_PATH
environment variable points to your CDP programs directory.
The server automatically handles x86_64 emulation on Apple Silicon Macs using arch -x86_64
.
get_cdp_usage()
MIT License - See LICENSE file for details
Enable AI Agents to fix build failures from CircleCI.
Work on dataset metadata with MLCommons Croissant validation and creation.
An intelligent tool for AI assistants to present multiple UI component designs for user selection.
Manage background processes for AI agents using the Model Context Protocol (MCP).
An MCP server with built-in GitHub OAuth support, designed for deployment on Cloudflare Workers.
A Binary Ninja plugin, MCP server, and bridge that seamlessly integrates Binary Ninja with your favorite MCP client.
Provides local access to Cursor chat history for AI analysis and insights, with no external services or API keys required.
A Next.js template for building MCP servers with OAuth 2.1 authentication, supporting PostgreSQL and Redis.
A professional trading server with over 26 tools for Bybit API integration.
A starter template for building Model Context Protocol (MCP) servers, designed for UI libraries and component registries.