@counterpoint-studio/audio-file-mcp-app 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +133 -5
  2. package/package.json +5 -1
package/README.md CHANGED
@@ -1,17 +1,145 @@
1
1
  # Audio File MCP App
2
2
 
3
- An MCP app for inspecting audio files in audio workflows — playback, metadata, and statistics.
3
+ An [MCP App](https://blog.modelcontextprotocol.io/posts/2026-01-26-mcp-apps/)
4
+ for playing and inspecting local audio files in an MCP host.
4
5
 
5
- > **Status:** early draft. This README currently captures only the client compatibility story; full setup, usage, and contribution docs are still to come.
6
+ ![Audio File MCP App running in Claude Desktop](https://raw.githubusercontent.com/counterpoint-studio/audio-file-mcp-app/main/docs/screenshot.png)
7
+
8
+ Renders an in-conversation UI with playback, metadata, loudness, and a
9
+ spectrogram.
10
+
11
+ File metadata, loudness statistics, the current playhead
12
+ position, and any selected region are also exposed back to the model, so
13
+ follow-up tasks can refer to what the user is actually hearing and looking at.
14
+
15
+ ## Features
16
+
17
+ - **Global loudness metrics** computed to EBU R128: Integrated Loudness
18
+ (LUFS), Loudness Range (LRA), True Peak (dBTP), Sample Peak, and RMS.
19
+ - **Instantaneous loudness metrics** while playing or hovering: Momentary
20
+ (400 ms) and Short-Term (3 s) LUFS, plus sample-peak and RMS at the
21
+ cursor position.
22
+ - **Waveform colouring** by spectral centroid — each waveform slice is
23
+ shaded along a tonal ramp using a low/mid/high band-energy ratio, so
24
+ bright/dark regions read at a glance as bright/dark sound.
25
+ - **Reassigned spectrogram** with log-frequency bins (20 Hz floor) and an
26
+ Inferno colour scale; time-frequency reassignment sharpens transients
27
+ and tonal partials beyond what a plain STFT shows.
28
+ - **Looping region selection.** Drag on the timeline to mark a region;
29
+ playback loops over it, and the region's start/end are passed back to
30
+ the model alongside the file's loudness and playhead state.
31
+
32
+ ## Install
33
+
34
+ The server runs locally over stdio. Every install path below configures the
35
+ same command: `npx -y @counterpoint-studio/audio-file-mcp-app`.
36
+
37
+ ### Claude Desktop
38
+
39
+ Easiest: grab the latest `.mcpb` from the
40
+ [Releases page](https://github.com/counterpoint-studio/audio-file-mcp-app/releases/latest)
41
+ and double-click it. Claude Desktop has Node bundled, so no extra runtime
42
+ is needed.
43
+
44
+ Or add the server by hand to `claude_desktop_config.json`:
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "audio-file": {
50
+ "command": "npx",
51
+ "args": ["-y", "@counterpoint-studio/audio-file-mcp-app"]
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### VS Code (Copilot, Agent mode)
58
+
59
+ [![Install in VS Code](https://img.shields.io/badge/Install%20in-VS%20Code-007ACC?logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=audio-file&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40counterpoint-studio%2Faudio-file-mcp-app%22%5D%7D)
60
+
61
+ Or add to `.vscode/mcp.json` (workspace) or your user `mcp.json`:
62
+
63
+ ```json
64
+ {
65
+ "servers": {
66
+ "audio-file": {
67
+ "type": "stdio",
68
+ "command": "npx",
69
+ "args": ["-y", "@counterpoint-studio/audio-file-mcp-app"]
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ ### Goose
76
+
77
+ Paste this deep link into your browser (Goose Desktop must be installed; the
78
+ custom URI scheme can't be a real link in a GitHub README):
79
+
80
+ ```
81
+ goose://extension?id=audio-file&name=Audio%20File%20MCP%20App&cmd=npx&arg=-y&arg=%40counterpoint-studio%2Faudio-file-mcp-app
82
+ ```
83
+
84
+ Or run `goose configure` → **Add Extension** → **Command-line Extension** and
85
+ enter `npx -y @counterpoint-studio/audio-file-mcp-app`.
86
+
87
+ ### MCP Inspector
88
+
89
+ ```bash
90
+ npx @modelcontextprotocol/inspector npx -y @counterpoint-studio/audio-file-mcp-app
91
+ ```
92
+
93
+ ## Usage
94
+
95
+ Ask the host to show you a local audio file by its absolute path. For
96
+ example:
97
+
98
+ > "Show me `/Users/me/Music/track.wav`"
99
+
100
+ The host calls the `display_audio_file` tool, which renders the in-app UI
101
+ with waveform, spectrogram, loudness metrics, and playback transport.
6
102
 
7
103
  ## Client compatibility
8
104
 
9
- This app has been tested and is known to work in:
105
+ Tested and known to work in:
10
106
 
11
- - **Claude Desktop** - Chat and Cowork
107
+ - **Claude Desktop** Chat and Cowork
12
108
  - **Visual Studio Code**
13
109
  - **Goose**
14
110
  - **MCP Inspector**
15
111
 
16
- The Codex app has been tested, but [their MCP App support is currently broken](https://github.com/openai/codex/issues/21019).
112
+ The Codex app has been tested too, but
113
+ [its MCP App support is currently broken](https://github.com/openai/codex/issues/21019).
114
+
115
+ ## Development
116
+
117
+ ```bash
118
+ pnpm install
119
+ pnpm run build:dsp # emsdk required; see WASM-BUILD.md
120
+ pnpm run serve # runs the server with tsx, no compile step
121
+ pnpm test
122
+ ```
123
+
124
+ `pnpm run build:dist` produces the publishable layout under `dist/`
125
+ (`dist/mcp-app.html` + `dist/server/`).
126
+
127
+ ## Releasing
128
+
129
+ ```bash
130
+ pnpm version <bump> # bumps package.json + tags
131
+ pnpm publish --access public # publishes to npm
132
+ pnpm run build:mcpb # produces dist/audio-file-mcp-app-<version>.mcpb
133
+ gh release create v<version> dist/*.mcpb # attaches the bundle to a GitHub release
134
+ mcp-publisher login github && mcp-publisher publish # updates the MCP Registry listing
135
+ ```
136
+
137
+ `mcp-publisher` is a Go binary; install it via
138
+ `brew install mcp-publisher` or per the
139
+ [registry quickstart](https://modelcontextprotocol.io/registry/quickstart).
140
+ It reads `server.json` from the repo root — keep its `version` in sync with
141
+ `package.json` before publishing.
142
+
143
+ ## License
17
144
 
145
+ ISC © Counterpoint Studio OÜ
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@counterpoint-studio/audio-file-mcp-app",
3
- "version": "1.0.0",
3
+ "mcpName": "io.github.counterpoint-studio/audio-file-mcp-app",
4
+ "version": "1.0.1",
4
5
  "description": "An MCP app for inspecting audio files in audio workflows. Playback, metadata, statistics",
5
6
  "keywords": [
6
7
  "audio",
@@ -38,6 +39,7 @@
38
39
  "zod": "^4.4.3"
39
40
  },
40
41
  "devDependencies": {
42
+ "@anthropic-ai/mcpb": "^2.1.2",
41
43
  "@types/node": "^25.6.2",
42
44
  "tsx": "^4.21.0",
43
45
  "typescript": "^6.0.3",
@@ -52,6 +54,8 @@
52
54
  "build:dsp": "scripts/build-wasm.sh && scripts/build-js-dsp.sh",
53
55
  "build:server": "tsc -p tsconfig.server-build.json && node scripts/add-shebang.mjs",
54
56
  "build:dist": "pnpm run build && pnpm run build:server",
57
+ "build:mcpb": "node scripts/build-mcpb.mjs",
58
+ "clean:mcpb": "rm -rf build/mcpb dist/*.mcpb",
55
59
  "serve": "npx tsx src/server/app.ts",
56
60
  "test": "vitest run",
57
61
  "typecheck": "tsc -b"