@boomstream/mcp 0.2.1 → 0.2.2

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 (3) hide show
  1. package/CHANGELOG.md +44 -59
  2. package/README.md +8 -13
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.2] - 2026-06-01
10
+
11
+ ### Fixed
12
+
13
+ - **Public docs hygiene.** Removed internal issue-tracker references from
14
+ the public-facing CHANGELOG and README, corrected stale version mentions
15
+ in the README, and replaced the broken relative `CHANGELOG.md` link
16
+ (which 404'd on npmjs.com) with inline prose pointing at the bundled
17
+ file.
18
+
9
19
  ## [0.2.1] - 2026-06-01
10
20
 
11
21
  ### Fixed
@@ -20,17 +30,16 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
20
30
  ### Added
21
31
 
22
32
  - **CHANGELOG.md** added to the repository, documenting versions 0.1.0–0.1.2
23
- with full entries. CI tarball now includes CHANGELOG. ([BOO-64])
33
+ with full entries. CI tarball now includes CHANGELOG.
24
34
 
25
35
  ### Changed
26
36
 
27
37
  - **api-client: switched to POST + `Content-Type: application/json` for all
28
38
  tools.** Previously the api-client used GET with query-string parameters for
29
39
  most methods and POST for a small subset. The Boomstream API supports
30
- `POST + JSON body` universally («Режим 2»). All tools now use POST; the GET
31
- branch and `URLSearchParams` are removed entirely. Closes root cause of
32
- [BOO-52] / [BOO-56] (the `RequestURI` redaction is retained as
33
- defence-in-depth). ([BOO-67])
40
+ `POST + JSON body` universally. All tools now use POST; the GET branch and
41
+ `URLSearchParams` are removed entirely. Closes the apikey-in-URL leak surface
42
+ at its root (the `RequestURI` redaction is retained as defence-in-depth).
34
43
  - **apikey removed from URL.** `apikey` is now sent in the JSON request body
35
44
  rather than the URL query string, eliminating it from proxy access-logs,
36
45
  browser history, and server `RequestURI` echo fields.
@@ -42,8 +51,8 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
42
51
  format from the `Content-Type` header.
43
52
  - **`httpMethod` removed from `schemas/boomstream.json`.** The field was used
44
53
  only by the GET/POST dispatch logic, which no longer exists.
45
- - **README: `BOOMSTREAM_TEST_API_KEY` wording clarified** and `hwdmedia.documents`
46
- database reference removed from docs. ([BOO-50])
54
+ - **README: `BOOMSTREAM_TEST_API_KEY` wording clarified** and internal
55
+ database-source reference removed from docs.
47
56
 
48
57
  ## [0.1.2] - 2026-05-31
49
58
 
@@ -54,7 +63,7 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
54
63
  responses. The MCP client previously surfaced this field verbatim in tool
55
64
  results. The api-client now drops `RequestURI` from parsed responses and
56
65
  redacts `apikey`/`token`/`signature` from any error message before it reaches
57
- the model. ([BOO-52], [BOO-56])
66
+ the model.
58
67
  - **Tool-result content redaction.** A defence-in-depth pass also scrubs
59
68
  `apikey`, `token`, and `signature` query parameters from any string the
60
69
  server returns to the client — even if the upstream API surfaces them in a
@@ -71,71 +80,47 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
71
80
  ### Added
72
81
 
73
82
  - **CI auto-publish on `v*` tags.** Pushing a tag matching `v\d+.\d+.\d+(-…)?`
74
- to `boomstream-ai/boomstream-mcp` now triggers the `npm-publish` GitLab CI
75
- job, which builds and runs `pnpm publish --access public` against the npm
76
- registry using a protected, masked `NPM_TOKEN`. Tag-pattern `v*` is a
77
- protected tag (Maintainer+ push only). ([BOO-23])
78
- - **Self-hosted GitLab runner** registered for `boomstream-ai/boomstream-mcp`
79
- so the publish job can reach the npm registry. ([BOO-41])
83
+ now triggers the `npm-publish` GitLab CI job, which builds and runs
84
+ `pnpm publish --access public` against the npm registry using a protected,
85
+ masked `NPM_TOKEN`. Tag-pattern `v*` is a protected tag (Maintainer+ push
86
+ only).
87
+ - **Self-hosted CI runner** registered so the publish job can reach the npm
88
+ registry.
80
89
  - README expanded with Available-tools table generator (`pnpm
81
90
  build-readme-tools`), `claude_desktop_config.json` example, and end-to-end
82
- smoke cycle for `media → ppv` flows. ([BOO-18])
91
+ smoke cycle for `media → ppv` flows.
83
92
 
84
93
  ### Changed
85
94
 
86
95
  - **pnpm pinned to 10.34.1** via `packageManager` in `package.json` to match
87
- the Node 20 runtime used in CI and Docker. ([BOO-48])
96
+ the Node 20 runtime used in CI and Docker.
88
97
  - `.gitignore` now excludes `.npmrc` everywhere in the worktree to prevent
89
- accidental token commits during local dev. ([BOO-22])
98
+ accidental token commits during local dev.
90
99
  - Polished `transports/stdio.ts` help text, CI rules guard against fork
91
- pipelines, and added `CODEOWNERS` for security-sensitive files. ([BOO-17])
100
+ pipelines, and added `CODEOWNERS` for security-sensitive files.
92
101
 
93
102
  ## [0.1.0] - 2026-05-29
94
103
 
95
104
  ### Added
96
105
 
97
106
  - **Initial stdio release.** Manual `npm publish @boomstream/mcp@0.1.0`
98
- performed by the Release Engineer following the CSO publish recipe
107
+ performed by the Release Engineer following the publish recipe
99
108
  (env-file-floor `.npmrc` via `NPM_CONFIG_USERCONFIG=$(mktemp)`,
100
- `--access public`). ([BOO-16])
101
- - **101 tools auto-generated** from the Boomstream API documentation corpus
102
- (`hwdmedia.documents`, RU `language_id=1`) covering 17 sections: media,
103
- live, ppv, conference, folder, playlist, stats, chat, screenshot,
104
- subtitles, timecodes, webhooks, project, record-live, live-ipcamera,
105
- player-api, general. Tool naming follows
106
- `boomstream_<section>_<method>` snake_case convention. ([BOO-9])
107
- - **MCP core (Slice 3).** `src/core/server.ts` implements `tools/list` and
109
+ `--access public`).
110
+ - **101 tools auto-generated** from the Boomstream API documentation corpus,
111
+ covering 17 sections: media, live, ppv, conference, folder, playlist,
112
+ stats, chat, screenshot, subtitles, timecodes, webhooks, project,
113
+ record-live, live-ipcamera, player-api, general. Tool naming follows
114
+ `boomstream_<section>_<method>` snake_case convention.
115
+ - **MCP core.** `src/core/server.ts` implements `tools/list` and
108
116
  `tools/call` handlers, `src/core/schema.ts` loads
109
117
  `schemas/boomstream.json` once at boot, `src/core/api-client.ts` is the
110
- fetch wrapper (`format=json`, `ver=1.2` default, exponential-backoff retry
111
- on 5xx, 30 s timeout), `src/core/auth.ts` reads
112
- `BOOMSTREAM_API_KEY` from env (Phase A). `src/tools/registry.ts` is the
113
- single generic handler that dispatches every tool through one
114
- zod-validated path. ([BOO-11])
115
- - **stdio transport (Slice 4).** `src/transports/stdio.ts` is the
116
- `boomstream-mcp` bin entry point, wired through
117
- `StdioServerTransport`. The package ships as a public scoped npm package
118
- with `bin: "dist/transports/stdio.js"`, a post-build shebang/chmod step,
119
- and a CLI surface (`--help`, `--version`, `stdio` subcommand). ([BOO-12])
120
-
121
- [Unreleased]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/compare/v0.2.1...HEAD
122
- [0.2.1]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/compare/v0.2.0...v0.2.1
123
- [0.2.0]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/compare/v0.1.2...v0.2.0
124
- [0.1.2]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/compare/v0.1.1...v0.1.2
125
- [0.1.1]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/compare/v0.1.0...v0.1.1
126
- [0.1.0]: https://gitlab.boomstream.com/boomstream-ai/boomstream-mcp/-/tags/v0.1.0
127
- [BOO-9]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
128
- [BOO-11]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
129
- [BOO-12]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
130
- [BOO-16]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
131
- [BOO-17]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
132
- [BOO-18]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
133
- [BOO-22]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
134
- [BOO-23]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
135
- [BOO-41]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
136
- [BOO-48]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
137
- [BOO-50]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
138
- [BOO-52]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
139
- [BOO-56]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
140
- [BOO-64]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
141
- [BOO-67]: https://gitlab.boomstream.com/boomstream-ai/boomstream-paperclip/-/issues
118
+ fetch wrapper (`ver=1.2` default, exponential-backoff retry on 5xx, 30 s
119
+ timeout), `src/core/auth.ts` reads `BOOMSTREAM_API_KEY` from env (Phase
120
+ A). `src/tools/registry.ts` is the single generic handler that dispatches
121
+ every tool through one zod-validated path.
122
+ - **stdio transport.** `src/transports/stdio.ts` is the `boomstream-mcp`
123
+ bin entry point, wired through `StdioServerTransport`. The package ships
124
+ as a public scoped npm package with `bin: "dist/transports/stdio.js"`, a
125
+ post-build shebang/chmod step, and a CLI surface (`--help`, `--version`,
126
+ `stdio` subcommand).
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  MCP server (Model Context Protocol) providing **Boomstream API as tools** for LLM agents: Claude Desktop, claude.ai, VS Code MCP extension, and any compatible client.
4
4
 
5
- > **Status:** stdio transport is live on npm (`@boomstream/mcp@latest`, currently `0.1.3`). SSE transport (remote hosting at `mcp.boomstream.com`) is the next stage; per-user OAuth comes after that. Release history [CHANGELOG.md](CHANGELOG.md).
5
+ > **Status:** stdio transport is live on npm (`@boomstream/mcp@latest`). SSE transport (remote hosting at `mcp.boomstream.com`) is the next stage; per-user OAuth comes after that. Release history is in the `CHANGELOG.md` file bundled with the npm package.
6
6
 
7
7
  ## What it does
8
8
 
@@ -25,7 +25,7 @@ npm install -g @boomstream/mcp@latest
25
25
  BOOMSTREAM_API_KEY=your-key boomstream-mcp
26
26
  ```
27
27
 
28
- `@latest` always resolves to the newest published version. Pin a specific version (e.g. `@boomstream/mcp@0.1.3`) if you need reproducible installs.
28
+ `@latest` always resolves to the newest published version. Pin a specific version (e.g., `@boomstream/mcp@0.2.1`) if you need reproducible installs.
29
29
 
30
30
  ## Available tools
31
31
 
@@ -149,17 +149,12 @@ Verify your key in Boomstream project settings → API. Keys are project-scoped;
149
149
 
150
150
  ## Releases
151
151
 
152
- Full release notes are in [CHANGELOG.md](CHANGELOG.md). Latest highlights:
153
-
154
- - **0.1.3** api-client switched to `POST + Content-Type: application/json`
155
- for all tools; `apikey` now sent in the JSON body (never in the URL).
156
- Array params sent as real JSON arrays. Closes BOO-52/56 root cause.
157
- - **0.1.2** — security fix: `apikey` is no longer echoed back through
158
- `RequestURI` on error responses; tool-result content is additionally
159
- scrubbed of `apikey`/`token`/`signature` query parameters.
160
- - **0.1.1** — CI auto-publish on `v*` tags, pnpm pinned to 10.34.1.
161
- - **0.1.0** — initial stdio release, 101 tools auto-generated from the
162
- Boomstream API docs corpus.
152
+ Full release notes are in the `CHANGELOG.md` file bundled with the npm
153
+ package. Recent changes include POST+JSON transport (`apikey` sent in the
154
+ request body, never in the URL), defence-in-depth scrubs for
155
+ `apikey`/`token`/`signature` in tool-result content, and automated CI
156
+ publish on `v*` tags. The full release timeline is available via
157
+ `npm view @boomstream/mcp time --json`.
163
158
 
164
159
  GitLab CI publishes to npm automatically when a maintainer pushes a tag of
165
160
  the form `v\d+.\d+.\d+(-…)?` (protected tag, Maintainer+ only). The job
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boomstream/mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "MCP server providing Boomstream API as tools for LLM agents",
5
5
  "type": "module",
6
6
  "license": "MIT",