@boomstream/mcp 0.1.1 → 0.1.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/README.md
CHANGED
|
@@ -108,8 +108,8 @@ pnpm test:smoke # end-to-end smoke cycle (requires BOOMSTREAM_TEST_API_
|
|
|
108
108
|
Offline test runs use fixtures in `tests/fixtures/`. To pull a fresh schema from the database, run `pnpm build-schema:db` (requires the `mariadb-mcp` MCP server).
|
|
109
109
|
|
|
110
110
|
To run the smoke cycle you need:
|
|
111
|
-
- `BOOMSTREAM_TEST_API_KEY` — a sandbox project API key.
|
|
112
|
-
- `BOOMSTREAM_TEST_MEDIA_CODE` — a known media code in that sandbox project.
|
|
111
|
+
- `BOOMSTREAM_TEST_API_KEY` — a sandbox project API key. Source of record: paperclip secret vault (audited, rotatable) for agent runs, mirrored into `~/.config/boomstream-ai.env` on the operator machine for manual `pnpm test:smoke` runs. **Never paste this value into chat, comments, commit messages, or PR descriptions.** The underlying sandbox project is operator-provisioned and intentionally not advertised publicly. Future hardening (dedicated `boomstream-mcp-sandbox` project + `application_keys.allow=read` scoping) is tracked separately and will land after the Phase B SSE kickoff.
|
|
112
|
+
- `BOOMSTREAM_TEST_MEDIA_CODE` — a known media code in that sandbox project. Same delivery channels as the apikey.
|
|
113
113
|
|
|
114
114
|
## Troubleshooting
|
|
115
115
|
|
|
@@ -2,4 +2,5 @@ import type { ToolSchema } from './schema.js';
|
|
|
2
2
|
export declare class ApiError extends Error {
|
|
3
3
|
constructor(message: string);
|
|
4
4
|
}
|
|
5
|
+
export declare function redactSecrets(value: unknown): unknown;
|
|
5
6
|
export declare function execute(schema: ToolSchema, args: Record<string, unknown>, apikey: string): Promise<unknown>;
|
package/dist/core/api-client.js
CHANGED
|
@@ -10,6 +10,29 @@ const BACKOFF_MS = [100, 400, 1600];
|
|
|
10
10
|
const MAX_ATTEMPTS = 3;
|
|
11
11
|
const TIMEOUT_MS = 30_000;
|
|
12
12
|
const xmlParser = new XMLParser({ ignoreAttributes: false });
|
|
13
|
+
// Patterns covering the query-param secrets the upstream API echoes back in RequestURI.
|
|
14
|
+
const SECRET_PARAMS_RE = /\b(apikey|token|signature)=([^&\s"'<>]+)/gi;
|
|
15
|
+
const AUTH_BEARER_RE = /\bAuthorization:\s*Bearer\s+\S+/gi;
|
|
16
|
+
export function redactSecrets(value) {
|
|
17
|
+
if (typeof value === 'string') {
|
|
18
|
+
return value
|
|
19
|
+
.replace(SECRET_PARAMS_RE, (_, param) => `${param}=REDACTED`)
|
|
20
|
+
.replace(AUTH_BEARER_RE, 'Authorization: Bearer REDACTED');
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(value)) {
|
|
23
|
+
return value.map(redactSecrets);
|
|
24
|
+
}
|
|
25
|
+
if (value !== null && typeof value === 'object') {
|
|
26
|
+
const out = {};
|
|
27
|
+
for (const [k, v] of Object.entries(value)) {
|
|
28
|
+
if (k === 'RequestURI')
|
|
29
|
+
continue; // upstream debug echo — useless to LLM, drop outright
|
|
30
|
+
out[k] = redactSecrets(v);
|
|
31
|
+
}
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
13
36
|
async function parseResponse(response) {
|
|
14
37
|
const contentType = response.headers.get('content-type') ?? '';
|
|
15
38
|
const text = await response.text();
|
|
@@ -29,10 +52,10 @@ async function parseResponse(response) {
|
|
|
29
52
|
typeof parsed === 'object' &&
|
|
30
53
|
'Status' in parsed &&
|
|
31
54
|
parsed.Status === 'Failed') {
|
|
32
|
-
const
|
|
33
|
-
throw new ApiError(
|
|
55
|
+
const rawMessage = String(parsed.Message ?? 'API request failed');
|
|
56
|
+
throw new ApiError(redactSecrets(rawMessage));
|
|
34
57
|
}
|
|
35
|
-
return parsed;
|
|
58
|
+
return redactSecrets(parsed);
|
|
36
59
|
}
|
|
37
60
|
function sleep(ms) {
|
|
38
61
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/core/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACpC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7D,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,MAAe,CAAC;IACpB,IAAI,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IACE,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,QAAQ,IAAK,MAAiB;QAC7B,MAAkC,CAAC,MAAM,KAAK,QAAQ,EACvD,CAAC;QACD,MAAM,
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/core/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/transports/stdio.js
CHANGED
|
@@ -10,7 +10,8 @@ function getVersion() {
|
|
|
10
10
|
const pkg = JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf8'));
|
|
11
11
|
return pkg.version;
|
|
12
12
|
}
|
|
13
|
-
catch {
|
|
13
|
+
catch (err) {
|
|
14
|
+
process.stderr.write(`warn: could not read package.json version: ${String(err)}\n`);
|
|
14
15
|
return 'unknown';
|
|
15
16
|
}
|
|
16
17
|
}
|
|
@@ -38,15 +39,22 @@ Claude Desktop config:
|
|
|
38
39
|
|
|
39
40
|
Environment:
|
|
40
41
|
BOOMSTREAM_API_KEY Your Boomstream API key (required)`.trim();
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
const argv = process.argv.slice(2);
|
|
43
|
+
// Scan all args so flags work regardless of position (e.g. `stdio --help`)
|
|
44
|
+
if (argv.includes('--help') || argv.includes('-h')) {
|
|
45
|
+
process.stdout.write(HELP + '\n');
|
|
44
46
|
process.exit(0);
|
|
45
47
|
}
|
|
46
|
-
if (
|
|
47
|
-
process.stdout.write(
|
|
48
|
+
if (argv.includes('--version') || argv.includes('-v')) {
|
|
49
|
+
process.stdout.write(getVersion() + '\n');
|
|
48
50
|
process.exit(0);
|
|
49
51
|
}
|
|
52
|
+
const [cmd, ...rest] = argv;
|
|
53
|
+
if (rest.length > 0) {
|
|
54
|
+
process.stderr.write(`Unknown arguments: ${rest.join(' ')}\n`);
|
|
55
|
+
process.stderr.write('Run with --help for usage.\n');
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
50
58
|
if (cmd !== undefined && cmd !== 'stdio') {
|
|
51
59
|
process.stderr.write(`Unknown command: ${cmd}\n`);
|
|
52
60
|
process.stderr.write('Run with --help for usage.\n');
|
|
@@ -55,10 +63,16 @@ if (cmd !== undefined && cmd !== 'stdio') {
|
|
|
55
63
|
if (!process.env.BOOMSTREAM_API_KEY) {
|
|
56
64
|
process.stderr.write('Error: BOOMSTREAM_API_KEY environment variable is not set.\n' +
|
|
57
65
|
'Set it to your Boomstream API key and retry.\n' +
|
|
58
|
-
'Example: BOOMSTREAM_API_KEY=your-key npx @boomstream/mcp stdio\n');
|
|
66
|
+
'Example: BOOMSTREAM_API_KEY=your-key npx -y @boomstream/mcp stdio\n');
|
|
59
67
|
process.exit(1);
|
|
60
68
|
}
|
|
61
69
|
const server = createServer();
|
|
62
70
|
const transport = new StdioServerTransport();
|
|
63
|
-
|
|
71
|
+
try {
|
|
72
|
+
await server.connect(transport);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
process.stderr.write(`Error: failed to start MCP server: ${String(err)}\n`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
64
78
|
//# sourceMappingURL=stdio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACxC,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boomstream/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "MCP server providing Boomstream API as tools for LLM agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"build-schema:db": "node scripts/build-schema.mjs --from-db",
|
|
49
49
|
"build-readme-tools": "node scripts/build-readme-tools.mjs",
|
|
50
50
|
"dev:stdio": "tsx src/transports/stdio.ts",
|
|
51
|
-
"dev:sse": "tsx src/transports/sse.ts",
|
|
52
51
|
"test": "vitest run",
|
|
53
52
|
"test:watch": "vitest",
|
|
54
53
|
"test:smoke": "vitest run --dir tests/smoke",
|