Labsco
DavidPiazza logo

CDP MCP Server

โ˜… 13

from DavidPiazza

Access Composers' Desktop Project (CDP) sound transformation programs. Requires a separate CDP installation.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

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

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