MCP server for ACE-Step V1.5 music generation. Boots acestep-api as a subprocess and proxies MCP tool calls to the REST API at localhost:PORT via stdio transport.
ACE-Step MCP server has 4 tools with mixed quality. generate_music has detailed parameter schemas with descriptions, defaults, and ranges, strong foundation. However, format_lyrics, create_random_sample, and list_models have minimal or missing parameter documentation. Tool descriptions are present but generic (10-50 chars for some). No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint/destructiveHint). Naming is clear (verb_noun pattern), but descriptions lack LLM-optimized context about when/why to use each tool. Per-tool average: generate_music=68, format_lyrics=42, create_random_sample=38, list_models=45.
Generate random music parameters via LLM. Creates a random sample with LLM-generated prompt and parameters.
Format and enhance lyrics via LLM. Applies language detection, instrumental markers, and CoT reasoning.
Generate music using ACE-Step. Returns a list of output file paths. Defaults are tuned for UPTIME (72 BPM, C minor, 120s loops, WAV for Audacity).
List available ACE-Step models and their configurations.
list_models has no input schema visible in source. Tool accepts empty input {} but schema is not documented.
format_lyrics and create_random_sample have minimal parameter descriptions. 'use_cot' lacks context on what chain-of-thought reasoning does for lyrics. 'sample_mode' lacks explanation of difference between simple_mode and custom_mode.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. generate_music returns 'list of output file paths' but format is not specified (array of strings? objects with metadata?).
No error handling guidance. If generate_music fails (model not found, disk full, invalid parameters), no recovery hints provided to LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
generate_music is a destructive/write operation (creates files, modifies disk state) but has no destructiveHint annotation or confirmation pattern. No dry-run option.