@confluentinc/mcp-confluent 1.2.0 → 1.2.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.
- package/dist/build-config.d.ts +2 -0
- package/dist/build-config.d.ts.map +1 -0
- package/dist/build-config.js +2 -0
- package/dist/build-config.js.map +1 -0
- package/dist/confluent/node-deps.d.ts +3 -0
- package/dist/confluent/node-deps.d.ts.map +1 -1
- package/dist/confluent/node-deps.js +2 -0
- package/dist/confluent/node-deps.js.map +1 -1
- package/dist/confluent/telemetry.d.ts.map +1 -1
- package/dist/confluent/telemetry.js +13 -16
- package/dist/confluent/telemetry.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-config.d.ts","sourceRoot":"","sources":["../src/build-config.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-config.js","sourceRoot":"","sources":["../src/build-config.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Analytics } from "@segment/analytics-node";
|
|
2
2
|
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { arch, homedir, platform, release } from "node:os";
|
|
4
|
+
export declare const buildConfig: {
|
|
5
|
+
TELEMETRY_WRITE_KEY: string;
|
|
6
|
+
};
|
|
4
7
|
export declare const fs: {
|
|
5
8
|
readFileSync: typeof readFileSync;
|
|
6
9
|
writeFileSync: typeof writeFileSync;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG3D,eAAO,MAAM,WAAW;;CAA0B,CAAC;AACnD,eAAO,MAAM,EAAE;;;;CAA6C,CAAC;AAC7D,eAAO,MAAM,EAAE;;;;;CAAuC,CAAC;AACvD,eAAO,MAAM,IAAI;;CAAW,CAAC;AAC7B,eAAO,MAAM,OAAO;;CAAgB,CAAC;AACrC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// Wrappers for easier stubbing in tests since sinon can't stub ES module imports directly
|
|
2
2
|
import { Analytics } from "@segment/analytics-node";
|
|
3
|
+
import { TELEMETRY_WRITE_KEY } from "../build-config.js";
|
|
3
4
|
import envProxy from "../env.js";
|
|
4
5
|
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
6
|
import { arch, homedir, platform, release } from "node:os";
|
|
6
7
|
import { join } from "node:path";
|
|
8
|
+
export const buildConfig = { TELEMETRY_WRITE_KEY };
|
|
7
9
|
export const fs = { readFileSync, writeFileSync, mkdirSync };
|
|
8
10
|
export const os = { homedir, platform, release, arch };
|
|
9
11
|
export const path = { join };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-deps.js","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC7D,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"node-deps.js","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,mBAAmB,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC7D,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"AAWA,oBAAY,cAAc;IACxB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAsC1E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO;IAwBP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASvE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKzD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { arch, homedir, platform, release } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
import { Analytics } from "@segment/analytics-node";
|
|
6
|
-
import env from "../env.js";
|
|
1
|
+
import { buildConfig, config, fs, os, path, segment, } from "../confluent/node-deps.js";
|
|
7
2
|
import { logger } from "../logger.js";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
8
4
|
export var TelemetryEvent;
|
|
9
5
|
(function (TelemetryEvent) {
|
|
10
6
|
TelemetryEvent["TOOL_CALL"] = "Tool Call";
|
|
@@ -13,11 +9,11 @@ export const FALLBACK_MACHINE_ID = "00000000-0000-0000-0000-000000000000";
|
|
|
13
9
|
const CONFIG_DIR = ".mcp-confluent";
|
|
14
10
|
const MACHINE_ID_FILE = "machine-id";
|
|
15
11
|
function getMachineIdFilePath() {
|
|
16
|
-
return join(homedir(), CONFIG_DIR, MACHINE_ID_FILE);
|
|
12
|
+
return path.join(os.homedir(), CONFIG_DIR, MACHINE_ID_FILE);
|
|
17
13
|
}
|
|
18
14
|
function readPersistedMachineId() {
|
|
19
15
|
try {
|
|
20
|
-
const id = readFileSync(getMachineIdFilePath(), "utf-8").trim();
|
|
16
|
+
const id = fs.readFileSync(getMachineIdFilePath(), "utf-8").trim();
|
|
21
17
|
if (id)
|
|
22
18
|
return id;
|
|
23
19
|
}
|
|
@@ -28,8 +24,8 @@ function readPersistedMachineId() {
|
|
|
28
24
|
}
|
|
29
25
|
function persistMachineId(id) {
|
|
30
26
|
try {
|
|
31
|
-
mkdirSync(join(homedir(), CONFIG_DIR), { recursive: true });
|
|
32
|
-
writeFileSync(getMachineIdFilePath(), id, { mode: 0o600 });
|
|
27
|
+
fs.mkdirSync(path.join(os.homedir(), CONFIG_DIR), { recursive: true });
|
|
28
|
+
fs.writeFileSync(getMachineIdFilePath(), id, { mode: 0o600 });
|
|
33
29
|
return true;
|
|
34
30
|
}
|
|
35
31
|
catch {
|
|
@@ -52,19 +48,20 @@ export class TelemetryService {
|
|
|
52
48
|
serverSessionId;
|
|
53
49
|
commonProperties;
|
|
54
50
|
constructor() {
|
|
55
|
-
|
|
56
|
-
const
|
|
51
|
+
// runtime env var can override the build-time value for local dev/testing
|
|
52
|
+
const writeKey = process.env.TELEMETRY_WRITE_KEY || buildConfig.TELEMETRY_WRITE_KEY;
|
|
53
|
+
const disabled = config.env.DO_NOT_TRACK;
|
|
57
54
|
const enabled = !disabled && !!writeKey;
|
|
58
55
|
this.machineId = getOrCreateMachineId();
|
|
59
56
|
this.serverSessionId = randomUUID();
|
|
60
57
|
this.commonProperties = {
|
|
61
58
|
serverSessionId: this.serverSessionId,
|
|
62
|
-
osPlatform: platform(),
|
|
63
|
-
osVersion: release(),
|
|
64
|
-
osArch: arch(),
|
|
59
|
+
osPlatform: os.platform(),
|
|
60
|
+
osVersion: os.release(),
|
|
61
|
+
osArch: os.arch(),
|
|
65
62
|
};
|
|
66
63
|
if (enabled) {
|
|
67
|
-
this.analytics = new Analytics({ writeKey });
|
|
64
|
+
this.analytics = new segment.Analytics({ writeKey });
|
|
68
65
|
logger.info("Telemetry enabled");
|
|
69
66
|
}
|
|
70
67
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@confluentinc/mcp-confluent",
|
|
3
3
|
"description": "Confluent MCP Server",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"author": "Confluent Inc.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
41
41
|
"print:schema": "node dist/print-md-schema.js",
|
|
42
42
|
"inspector": "npx @modelcontextprotocol/inspector node dist/index.js --env-file .env",
|
|
43
|
-
"prepare": "husky"
|
|
43
|
+
"prepare": "husky",
|
|
44
|
+
"prepack": "npm run build && node scripts/inject-build-config.mjs"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"@eslint/js": "^9.29.0",
|