get_project_info
Get project info
Summarizes an Audionaut project: tempo, tracks, clips with positions/durations and their audio files. Set raw=true for the full persistence JSON instead of the summary.
rawproject必填
io.github.kvoltmer由 GitHub 帳號 kvoltmer 發布v0.5.0更新於 Nov 2, 2026
Edit Audionaut multitrack projects: cut, fade, analyse, export. Requires the Audionaut app.
讓助理檢視並編輯 Audionaut 多軌音訊專案:匯入、剪裁、淡入淡出、分析、自動剪輯、分離音軌與匯出。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
An MCP server that lets AI agents (Claude
Code, Claude Desktop, and any other MCP client) edit
Audionaut projects: cut, move, fade, analyse,
auto-edit and export. It is a thin wrapper: every tool runs one Audionaut
command with --json and relays the result — no engine logic lives here.
Requires the Audionaut app (Mac App Store / GitHub Releases). On its own this package does nothing.
You need Audionaut — 1.6.3 or later is recommended; 1.6.2 works on macOS and Linux — and Node.js 18 or later.
Claude Code:
Claude Desktop (claude_desktop_config.json):
On Windows, if Claude Desktop cannot start npx, use
"command": "cmd", "args": ["/c", "npx", "-y", "audionaut-mcp"].
Then ask for something like "split the clip in ~/Music/Audionaut/Demo Project.audium every 16 bars". Keep the project open in Audionaut to watch the edits arrive; each one is a single undo step.
On macOS, keep projects in your Music folder. Audionaut is sandboxed
there (App Store and website download alike) and can only reach ~/Music:
projects, audio to import and export targets all have to be inside it, for
example in ~/Music/Audionaut. The server refuses other paths up front with
sandbox_denied and a hint. Windows and Linux have no such limit.
To see which Audionaut the server found and whether it answers:
The server looks for, in order: AUDIONAUT_CLI; a developer build of
audionaut-cli (see the end of this page); audionaut-cli on PATH; the
installed app — /Applications or ~/Applications (or wherever Spotlight
finds it) on macOS, Program Files\Audionaut on Windows, audionaut from
the .deb or an Audionaut*.AppImage in ~/Applications or ~/.local/bin
on Linux. Anywhere else, point AUDIONAUT_CLI at the binary, e.g. your
AppImage.
separate_stems needs the Demucs model, which you download once in the app
(Settings ▸ Separation). The model weights are licensed for research use.
A stem split takes minutes for a full song, and exporting or analysing a long
project can too. When your client sends a progressToken with the call,
separate_stems, export_audio and analyze report progress (Audionaut
1.6.5 and later). A call is only stopped after ten minutes without any sign of
life, not ten minutes in total.
The tools do not need the user to save first, and they will not write over a
document the user has open. When Audionaut is holding the project, the CLI
hands the command to the app: it acts on the document as the user currently
sees it, unsaved changes included, and the result lands in their undo history
as one step instead of touching Project.json. Saving stays theirs to do.
With no app holding the project, the tools read and write the project file as
they always have. If an app is holding one but cannot be reached, the command
fails (host_unavailable) rather than falling back to the file, which would
be missing whatever is unsaved.
Autosave.json and Host.json inside a package belong to the app — never
read or edit them.
A typical agent flow: create_project → import_audio → analyze →
auto_edit/assemble → export_audio. CLI errors come back as tool errors
carrying the CLI's own code: message (e.g. demucs_unavailable: ... in
builds without stem separation), so agents can react.
Agents run into the edges of what the tools expose, and into their bugs,
long before a person would file an issue, so two tools give them a direct
channel. request_feature takes a title, a description and (ideally) what
the agent was trying to do and which tool fell short. report_bug takes
the same plus steps to reproduce, the expected behaviour and the project
shape; its description tells agents to quote the exact tool call and error
text and never to attach audio. The server's instructions point agents at
the right one whenever a task needs something the tools cannot do or a tool
misbehaves, and tell them to say so to the user. A reporter name or e-mail
is included only when the user offers one. Both become GitHub issues -
enhancement + agent-request for features, bug + agent-report for
bugs; the reply carries the issue URL and the
feature-request discussion.
Transports, tried in order:
Tools/feature-request-relay, a
Cloudflare Worker that files the issue with its own GitHub token. This is
the path for end users, who have no GitHub credentials on the agent side.
AUDIONAUT_FEATURE_REQUEST_URL points at another deployment; an empty
value skips the relay.gh is installed and
logged in, the issue is filed with gh issue create under the user's own
account (developer machines).sent: false and carries a
prefilled new-issue URL for the user to open themselves.AUDIONAUT_DISABLE_FEATURE_REQUESTS=1 skips the first two for both tools
(test harnesses, air-gapped setups); the smoke test points the relay URL at
a local stand-in.
The server sets two variables for every Audionaut it runs, which the open
app uses to group an agent's edits into undo steps: AUDIONAUT_AGENT_SESSION
(one id per server process) and AUDIONAUT_AGENT_TASK (the editing tool's
task parameter). Edits with the same session and task share one undo step
in the user's app, and edits that name no task share one step per session; a
user edit, an undo or ten idle minutes start a new one.
From a clone of the repo, the server prefers a CMake build of the
standalone audionaut-cli, which is not sandboxed:
Build the CLI (from the repo root):
Install the server's dependencies:
Register the checkout instead of the npm package. Claude Code:
Claude Desktop: the JSON above with "command": "node" and
"args": ["/path/to/Audionaut/Tools/audionaut-mcp/index.js"].
npm test drives the server through a real MCP client against whichever
binary it finds (AUDIONAUT_CLI picks one). With the sandboxed macOS app it
works in a scratch folder under ~/Music; AUDIONAUT_TEST_DIR overrides
the location.
Paths in tool arguments are best given absolute — relative paths resolve against the server process's working directory, which depends on the MCP client.
來源:Tools/audionaut-mcp/README.md,提交 4121818
Get project info
Summarizes an Audionaut project: tempo, tracks, clips with positions/durations and their audio files. Set raw=true for the full persistence JSON instead of the summary.
rawproject必填Create project
Creates a new empty Audionaut project (.audium package) with one track. Fails if the path already exists.
project必填channelsImport audio
Imports one or more audio files into the project at the given position and saves it. Note: importing creates a new track holding the files.
taskfiles必填project必填position_secondsExport audio
Renders the project offline to an audio file (no audio device needed). The output's extension picks the format: .wav (8/16/24/32 bit), .flac (lossless and compressed, 16/24 bit, at most 8 channels per file), .aiff (8/16/24 bit), .ogg (Ogg Vorbis, lossy, at most 8 channels) or .mp3 (lossy, mono or stereo, at most 48 kHz). Lossy formats take bitrate_kbps instead of bit_depth. Pass region to bounce a single region instead - always dry, without any clip's gains or fades. Reports progress in 5% steps when the call carries a progressToken.
trackoutput必填regionproject必填channelsbit_depthmulti_monosample_ratebitrate_kbpsstart_secondslength_secondsAnalyze audio
Runs audio analysis (segment boundaries, beats with BPM, onsets) on the project's audio files - or one standalone audio file - and caches the results next to the project for auto_edit/assemble to use. Reports progress as each file and type finishes when the call carries a progressToken.
typestarget必填Auto-edit clip
Segments a clip on a track using cached analysis results (run analyze first). Splits the clip into musically-aligned regions.
cliptasktrackproject必填measuressegmentscrossfadesduration_secondsAssemble arrangement
Builds an arrangement of the given duration from the project's regions, sequentially or at random (requires regions - e.g. from auto_edit).
modeseedtasktrackproject必填crossfadesduration_secondsSplit clips
Splits the clip under the given timeline position into two on every track that has one there (the GUI's Split command). Fails with nothing_to_split when no clip spans the position.
at必填taskunitproject必填Create region
Creates a named region from a timeline range on every track whose clip fully contains it (the GUI's Create Region command). The arrangement itself is unchanged. The name must not be taken by another region (error name_taken).
end必填name必填taskunitstart必填project必填Edit region
Renames a region and/or retrims its source-relative range (clamped to the source audio). Clips have no length of their own, so a retrim affects every clip using the region.
endtaskunitstarttracklengthregion必填renameproject必填Remove clips
Removes the clip at a timeline position (one clip; ambiguity across tracks needs track), or every placement of a named region. delete_region also drops the region itself unless other clips use it.
attaskunittrackregionproject必填delete_regionMove clip
Moves one clip to a new timeline position and/or onto another track. Address it by position (at) or region name; the address must match exactly one clip. to_track takes a track id, or "new" to create a track for it; without to the clip keeps its position. Give at least one of to and to_track.
attotaskunittrackregionproject必填to_trackPlace clip
Creates a new clip from an existing named region at a timeline position, on the track that owns the region (track only disambiguates same-named regions).
at必填taskunittrackregion必填project必填Delete unused regions
Deletes every region that has no clip on the timeline (the GUI's Delete Unused Regions). The audio files stay in the package.
taskproject必填Set clip gain
Sets the addressed clip's gain - linear by default, dB with db=true - on every destination channel, or one channel. The address (at or region) must match exactly one clip.
atdbgain必填taskunittrackregionchannelproject必填Set clip speed
Sets a clip's playback speed (ratio 0.25-4, 2.0 = double speed, half as long). The mode picks how: repitch (default, varispeed - pitch and length change together) or stretch (pitch-preserving time-stretch). Mode can also be changed on its own. lockTempo ties the clip to the project tempo (speed = project tempo / clip tempo, following tempo changes); the clip tempo is detected by beat tracking or given with `tempo`, which implies the lock.
atmodetaskunitratiotempotracklengthregionproject必填lockTemposemitonesSeparate stems
Splits a clip into Drums/Bass/Other/Vocals tracks with the Demucs (htdemucs) source separator, aligned with the source clip. Slow: minutes for a full song, CPU only; reports progress in 5% steps when the call carries a progressToken. Needs the model weights, which the Audionaut app downloads once (Settings > Separation); fails with model_missing until then, and with demucs_unavailable in builds without Demucs.
cliptasktrackproject必填threadsmute_sourceSet clip fades
Sets the addressed clip's fade ramps and curve exponents (0.1-4, 0.5 = equal power). All four fade values are in `unit` (default bars) and 0 clears one. Each ramp has two edges measured inward from the clip edge: the fade-in runs from fade_in_start to fade_in after the clip start, the fade-out from fade_out to fade_out_end before the clip end, so a ramp lasts fade_in - fade_in_start (or fade_out - fade_out_end). A negative offset puts that edge outside the clip, playing source audio beyond it - e.g. fade_out 0.25 with fade_out_end -0.25 (seconds) is a 0.5 s ramp centred on the clip end, the outgoing half of a crossfade. Values are clamped against each other within the clip. The address must match exactly one clip.
attaskunittrackregionfade_inproject必填fade_outfade_out_endfade_in_curvefade_in_startfade_out_curveRemove track
Removes a whole track from the project, including its channels, clips and regions. Track ids are positions in the track list, so the ids of the tracks below shift up by one. The audio files stay in the package.
tasktrack必填project必填Remove channel
Removes one channel (0-based) from a track, like deleting a channel strip in the GUI. Channel mappings and per-channel clip gains shift down; the audio files stay in the package.
tasktrack必填channel必填project必填Pan a track
Sets the pan position of a track's channel strips, -1 (hard left) to 1 (hard right), 0 centred - the pan slider of the channel view. Every strip of the track by default, one with channel. A mono stem has one strip; a stereo import's two strips start at -1 and 1. Playback and export_audio both follow it; get_project_info shows the current pans per track.
pan必填tasktrack必填channelproject必填Request a feature
Sends a feature request to the Audionaut maintainer as a GitHub issue. Use it when a task needs something the other tools cannot do: a missing verb or option, a limit that got in the way, or a workflow that took a clumsy workaround. Say what the user was trying to achieve and why the current tools fall short - that context is what makes the request actionable. Tell the user you are sending it; include their name or e-mail only if they offered it. If nothing could be sent, the reply carries a prefilled issue link to hand to the user.
title必填contextreporterdescription必填Report a bug
Reports a bug in Audionaut to the maintainer as a GitHub issue. Use it when a tool misbehaves: an error that should not happen, a wrong or inconsistent result, a crash, or a project left in a bad state. Quote the exact tool call and error text - the CLI's code and message - and say what you expected instead; that is what makes the report reproducible. Never include the audio itself, and keep file paths to what is needed. Tell the user you are sending it; include their name or e-mail only if they offered it. If nothing could be sent, the reply carries a prefilled issue link to hand to the user.
stepstitle必填contextexpectedreporterdescription必填已滿足適用檢查項的 80%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
請在儲存庫或註冊中心條目中宣告授權條款。
claude mcp add audionaut -- npx -y audionaut-mcp{ "mcpServers": { "audionaut": { "command": "npx", "args": ["-y", "audionaut-mcp"] } }}npx -y audionaut-mcp --checkcmake -B build -S Audionaut/Catch2Testscmake --build build -j8 --target AudionautClicd Tools/audionaut-mcp && npm installclaude mcp add audionaut -- node /path/to/Audionaut/Tools/audionaut-mcp/index.js