@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.
- package/CHANGELOG.md +44 -59
- package/README.md +8 -13
- 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.
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
46
|
-
database reference removed from docs.
|
|
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.
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- **Self-hosted
|
|
79
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
107
|
+
performed by the Release Engineer following the publish recipe
|
|
99
108
|
(env-file-floor `.npmrc` via `NPM_CONFIG_USERCONFIG=$(mktemp)`,
|
|
100
|
-
`--access public`).
|
|
101
|
-
- **101 tools auto-generated** from the Boomstream API documentation corpus
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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 (`
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
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
|
|
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
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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
|