ace-step-studio

ace-step-studio is a skill for Claude Code, Codex from timoncool/ACE-Step-Studio. It costs 152 tokens per session (4,396 once invoked), scanned A, original, MIT.

A local music-making desktop app connected to a coding agent through MCP, a standard way for software tools to communicate. It can create and edit songs, including lyrics, covers, remixes, stems, and MIDI.

In plain words
What is it for?
Use it to write songs, generate or edit tracks, manage a music library, create cover art, separate tracks into stems, and convert audio to MIDI.
Why use it?
It lets you control ACE-Step Studio with written instructions instead of operating every studio control by hand. The app must be running on a Windows computer with a supported NVIDIA graphics card.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to write songs, generate or edit tracks, manage a music library, create cover art, separate tracks into stems, and convert audio to MIDI.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/timoncool/ace-step-studio/mcp
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add timoncool/ACE-Step-Studio --skill mcp
Clone the repo
git clone --depth 1 https://github.com/timoncool/ACE-Step-Studio

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ace-step-studio

README.md
[![agentmods](https://agentmods.dev/badge/skills/timoncool/ace-step-studio/mcp/github.svg)](https://agentmods.dev/skills/timoncool/ace-step-studio/mcp)
Your own site
<a href="https://agentmods.dev/skills/timoncool/ace-step-studio/mcp"><img src="https://agentmods.dev/badge/skills/timoncool/ace-step-studio/mcp/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ace-step-studio

Your own site · 80×15
<a href="https://agentmods.dev/skills/timoncool/ace-step-studio/mcp"><img src="https://agentmods.dev/badge/skills/timoncool/ace-step-studio/mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 152 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,396 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00152 $0.04396
Opus 5.5 $0.00061 $0.01758
Sonnet 5.5 $0.00030 $0.00879
Haiku 4.5 $0.00015 $0.00440

Measured 15d ago against content hash be1a69dd6e92, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ace-step-studio scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 15d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/mcp-skill.md · 263 lines

How it starts

The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ACE-Step Studio through MCP

ACE-Step Studio serves MCP at http://127.0.0.1:8792/mcp while it is open (Streamable HTTP, stateless JSON-RPC). Every tool runs the same code as a button of the studio, and the user sees what you do in the studio's window.

If the studio is not running yet

  1. It is a Windows desktop application. If it is not installed, download the installer or the portable archive from https://github.com/timoncool/ACE-Step-Studio/releases/latest (it needs an NVIDIA card; the first start offers to download the models).
  2. Start it. The MCP server is up as soon as its window is: http://127.0.0.1:8792/mcp. Nothing else to install - no npx, no bridge.
  3. Connect (below), then call studio_status. If the models are missing, models_catalog and models_download fetch them.

Connect

claude mcp add --transport http ace-step-studio http://127.0.0.1:8792/mcp

Other clients: { "mcpServers": { "ace-step-studio": { "type": "streamable-http", "url": "http://127.0.0.1:8792/mcp" } } }.

The server also serves this skill (resource studio://skill, prompt studio) and the writing guides (resources studio://guide/<topic>). It speaks MCP 2026-07-28 (stateless: every request carries its version in _meta, server/discover describes the server) and the handshake revisions 2025-11-25, 2025-06-18 and 2025-03-26 through initialize. Only this computer's agents and the studio's own window may connect.

The user sees it in the studio too: Settings, Agent (MCP) shows whether an agent is connected and the address to paste.

Ground rules

  • Start with studio_status. It tells what runs now and whether the window is open.
  • Long work is a job: songs, stems, MIDI, karaoke, preparation, training. Start it, then studio_wait (a job_id, or until: stems | midi | processing | covers_and_karaoke | song_jobs | preparation | training | idle) instead of polling. It returns within a minute (30 s by default, 55 at most) with how far the work got; call it again.
  • One heavy job holds the graphics card at a time. While a LoRA trains no song is made; start training last.
  • Answers are short by default: a song job is its status and the songs it made, a library song leaves out its audio codes, lora_list gives one line per LoRA. Pass response_format: detailed when you need every field.
  • Covers are drawn only with an image model set up (settings_get, covers; an OpenRouter key). Without one a cover_prompt is kept but no cover appears; cover_set_from_file still works.
  • Look ids up, never guess them: library_songs_list, training_status, dataset_get, lora_list, models_status.
  • What you change is written down where the user reads it. Every change you make - a generation started, a song edited or deleted, a playlist, stems, karaoke, a dataset and its preparation, training, a LoRA, a model downloaded or removed, a setting - goes into the studio's Activity journal as what was done, to what and its name; a job is written as started. Reads, the window's own controls (ui_*, the player, the create form, the video editor, the visualizer) and answers that store nothing leave no line. A tool that writes over what was stored (a song or playlist edit, a dataset prepared again, stems made again, karaoke, MIDI, a cover) is marked destructive, so your client asks the user first.
  • A like lives with the song: library_liked (the latest like first) and library_song_like work without the window open.
  • A stem belongs to its song: the window shows it under the song it was separated from, stems_split on a song that has stems replaces the ones it makes again, and a stem itself is not split.
  • Files on this computer are passed by path: dataset_add_folder, library_import_audio, cover_set_from_file, video_set. library_song_files and dataset_song_files give the paths of the studio's own files.
  • One writer per song. Either you write the caption and lyrics, or ACE-Step's own language model does (think on with empty lyrics, or song_plan) - never both on one song. You write better: read writing_guide and writing_examples first. Use assistant_write only when the user asks for the studio's assistant. assistant_sections tags lyrics the user wrote with their sections without changing a word - the tag button of the create form.

Read the full file on GitHub · 263 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 15d ago Changed · +13 lines be1a69dd6e92
  2. 17d ago Changed a95e12bfed8e
  3. 19d ago First seen · 250 lines · 152 tokens per session scan A cb8b5591c09a

Subscribe to this mod's changes

ace-step-studio is a skill published in the GitHub repository timoncool/ACE-Step-Studio (408 stars, last pushed today), licensed MIT. It adds 152 tokens to every session and 4,396 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-27.

Related

Other skills, from other repositories

claude-music

Music production suite using ACE-Step 1.5 via Python API. Routes /music commands for generation, cover, repaint, compose, analyze, export, enhance, random, and LoRA training. 50+ languages, up to 10-minute tracks, 48kHz stereo.

AgriciDaniel/claude-music · 63 tokens

claude-music-cover

Creates cover versions and style transfers of existing songs using ACE-Step 1.5. Takes a reference audio file and generates a new version with different style, genre, or vocal characteristics while preserving musical structure.

AgriciDaniel/claude-music · 47 tokens

claude-music-enhance

Post-processing for generated music. Default path is FFmpeg loudness normalization (fast, CPU-only). Escape hatches: AI vocal denoise for artifacts, stem separation for surgical edits. Both escape-hatch paths reuse tooling from the claude-video skill.

AgriciDaniel/claude-music · 58 tokens

claude-music-lora

LoRA and LoKr fine-tuning for ACE-Step 1.5. Trains custom styles from 3-10 songs, manages trained adapters, and applies them during generation. Uses ACE-Step's built-in training pipeline.

AgriciDaniel/claude-music · 53 tokens

claude-music-repaint

Edits specific sections of a song using ACE-Step 1.5's repaint mode. Fixes a bad chorus, changes instruments in a section, adds or removes vocals, or regenerates any time range while keeping the rest intact.

AgriciDaniel/claude-music · 54 tokens

claude-music-analyze

Analyzes audio files for BPM, musical key, loudness (LUFS), duration, format, and quality metrics. Uses ffprobe for metadata and FFmpeg for loudness measurement.

AgriciDaniel/claude-music · 44 tokens