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
Integrates with Language Server Protocol (LSP) to provide features like code completion, diagnostics, and hover information.
Interact with MiniMax's powerful APIs for text-to-speech, voice cloning, and video/image generation.
A code observability MCP enabling dynamic code analysis based on OTEL/APM data to assist in code reviews, issues identification and fix, highlighting risky code etc.
Interact with the Honeybadger API for error monitoring and reporting using LLMs.
Enable AI agents to secure code with Semgrep.
Bootstrap Model Context Protocol (MCP) servers and clients in TypeScript with best practices, examples, and proper tooling setup.
A proxy server that enables existing REST APIs to be used as Model Context Protocol (MCP) servers.
A lightweight, AI-powered end-to-end testing framework for CI workflows. Requires an OpenAI API key.
Gentoro generates MCP Servers based on OpenAPI specifications.
A starter MCP server built with TypeScript and the official MCP SDK, featuring example tools like echo, add, time, and flight status.