qyl-mcp-server 0.1.0

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 (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -0
  3. package/dist/atomic-json-store.d.ts +37 -0
  4. package/dist/atomic-json-store.js +143 -0
  5. package/dist/atomic-json-store.js.map +1 -0
  6. package/dist/ci.d.ts +51 -0
  7. package/dist/ci.js +158 -0
  8. package/dist/ci.js.map +1 -0
  9. package/dist/collector.d.ts +43 -0
  10. package/dist/collector.js +163 -0
  11. package/dist/collector.js.map +1 -0
  12. package/dist/config.d.ts +14 -0
  13. package/dist/config.js +39 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/contract-validation.d.ts +146 -0
  16. package/dist/contract-validation.js +350 -0
  17. package/dist/contract-validation.js.map +1 -0
  18. package/dist/data.d.ts +46 -0
  19. package/dist/data.js +138 -0
  20. package/dist/data.js.map +1 -0
  21. package/dist/demo.d.ts +23 -0
  22. package/dist/demo.js +836 -0
  23. package/dist/demo.js.map +1 -0
  24. package/dist/execution-evidence.d.ts +13 -0
  25. package/dist/execution-evidence.js +81 -0
  26. package/dist/execution-evidence.js.map +1 -0
  27. package/dist/execution-result.d.ts +5 -0
  28. package/dist/execution-result.js +17 -0
  29. package/dist/execution-result.js.map +1 -0
  30. package/dist/http-security.d.ts +36 -0
  31. package/dist/http-security.js +101 -0
  32. package/dist/http-security.js.map +1 -0
  33. package/dist/log-body.d.ts +3 -0
  34. package/dist/log-body.js +12 -0
  35. package/dist/log-body.js.map +1 -0
  36. package/dist/main.d.ts +51 -0
  37. package/dist/main.js +215 -0
  38. package/dist/main.js.map +1 -0
  39. package/dist/mcp-app.html +218 -0
  40. package/dist/mcp-dashboard.html +223 -0
  41. package/dist/mcp-errors.d.ts +5 -0
  42. package/dist/mcp-errors.js +15 -0
  43. package/dist/mcp-errors.js.map +1 -0
  44. package/dist/mcp-semconv.d.ts +68 -0
  45. package/dist/mcp-semconv.js +208 -0
  46. package/dist/mcp-semconv.js.map +1 -0
  47. package/dist/native-execution.d.ts +132 -0
  48. package/dist/native-execution.js +508 -0
  49. package/dist/native-execution.js.map +1 -0
  50. package/dist/observability-suppression.d.ts +8 -0
  51. package/dist/observability-suppression.js +15 -0
  52. package/dist/observability-suppression.js.map +1 -0
  53. package/dist/secret-redactor.d.ts +30 -0
  54. package/dist/secret-redactor.js +255 -0
  55. package/dist/secret-redactor.js.map +1 -0
  56. package/dist/server.d.ts +25 -0
  57. package/dist/server.js +207 -0
  58. package/dist/server.js.map +1 -0
  59. package/dist/stats.d.ts +18 -0
  60. package/dist/stats.js +141 -0
  61. package/dist/stats.js.map +1 -0
  62. package/dist/summaries.d.ts +14 -0
  63. package/dist/summaries.js +128 -0
  64. package/dist/summaries.js.map +1 -0
  65. package/dist/telemetry-redaction.d.ts +6 -0
  66. package/dist/telemetry-redaction.js +28 -0
  67. package/dist/telemetry-redaction.js.map +1 -0
  68. package/dist/telemetry.d.ts +72 -0
  69. package/dist/telemetry.js +362 -0
  70. package/dist/telemetry.js.map +1 -0
  71. package/dist/tools.d.ts +17 -0
  72. package/dist/tools.js +111 -0
  73. package/dist/tools.js.map +1 -0
  74. package/dist/wire.d.ts +10 -0
  75. package/dist/wire.js +7 -0
  76. package/dist/wire.js.map +1 -0
  77. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { RunnerMcpExecutionCost, RunnerMcpExecutionTokenUsage } from "@ancplua/qyl-api-schema/types";
2
+ export interface ExecutionEvidenceMetadata {
3
+ tokenUsage?: RunnerMcpExecutionTokenUsage;
4
+ cost?: RunnerMcpExecutionCost;
5
+ }
6
+ /**
7
+ * Read only explicitly named usage/cost evidence from an MCP tool result.
8
+ *
9
+ * MCP does not define a universal billing envelope for tool results. qyl.mcp
10
+ * therefore accepts metadata only from structured result fields (or _meta),
11
+ * never from prose, latency, payload size, or a locally maintained estimate.
12
+ */
13
+ export declare function extractExecutionEvidence(result: unknown): ExecutionEvidenceMetadata;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Read only explicitly named usage/cost evidence from an MCP tool result.
3
+ *
4
+ * MCP does not define a universal billing envelope for tool results. qyl.mcp
5
+ * therefore accepts metadata only from structured result fields (or _meta),
6
+ * never from prose, latency, payload size, or a locally maintained estimate.
7
+ */
8
+ export function extractExecutionEvidence(result) {
9
+ if (!isRecord(result))
10
+ return {};
11
+ const roots = [result.structuredContent, result._meta]
12
+ .filter(isRecord);
13
+ let tokenUsage;
14
+ let cost;
15
+ for (const root of roots) {
16
+ tokenUsage ??= parseTokenUsage(root.tokenUsage
17
+ ?? root.token_usage
18
+ ?? root.usage);
19
+ cost ??= parseCost(root.cost ?? root.costUsd ?? root.cost_usd);
20
+ }
21
+ return {
22
+ ...(tokenUsage === undefined ? {} : { tokenUsage }),
23
+ ...(cost === undefined ? {} : { cost }),
24
+ };
25
+ }
26
+ function parseTokenUsage(value) {
27
+ if (!isRecord(value))
28
+ return undefined;
29
+ const inputTokens = nonNegativeInteger(value.inputTokens ?? value.input_tokens);
30
+ const outputTokens = nonNegativeInteger(value.outputTokens ?? value.output_tokens);
31
+ const totalTokens = nonNegativeInteger(value.totalTokens ?? value.total_tokens);
32
+ if (inputTokens === undefined && outputTokens === undefined && totalTokens === undefined) {
33
+ return undefined;
34
+ }
35
+ return {
36
+ ...(inputTokens === undefined ? {} : { inputTokens }),
37
+ ...(outputTokens === undefined ? {} : { outputTokens }),
38
+ ...(totalTokens === undefined ? {} : { totalTokens }),
39
+ // A producer that reports token counts has supplied observed evidence.
40
+ // It can opt into the explicit estimated=true state when appropriate.
41
+ estimated: value.estimated === true,
42
+ };
43
+ }
44
+ function parseCost(value) {
45
+ if (typeof value === "number") {
46
+ return nonNegativeNumber(value) === undefined
47
+ ? undefined
48
+ : { amountUsd: value, estimated: false };
49
+ }
50
+ if (!isRecord(value))
51
+ return undefined;
52
+ const amountUsd = nonNegativeNumber(value.amountUsd ?? value.amount_usd);
53
+ if (amountUsd === undefined)
54
+ return undefined;
55
+ const source = typeof value.source === "string" && value.source.trim().length > 0
56
+ ? value.source.trim().slice(0, 256)
57
+ : undefined;
58
+ return {
59
+ amountUsd,
60
+ estimated: value.estimated === true,
61
+ ...(source === undefined ? {} : { source }),
62
+ };
63
+ }
64
+ function isRecord(value) {
65
+ return typeof value === "object" && value !== null && !Array.isArray(value);
66
+ }
67
+ function nonNegativeInteger(value) {
68
+ return typeof value === "number"
69
+ && Number.isSafeInteger(value)
70
+ && value >= 0
71
+ ? value
72
+ : undefined;
73
+ }
74
+ function nonNegativeNumber(value) {
75
+ return typeof value === "number"
76
+ && Number.isFinite(value)
77
+ && value >= 0
78
+ ? value
79
+ : undefined;
80
+ }
81
+ //# sourceMappingURL=execution-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-evidence.js","sourceRoot":"","sources":["../src/execution-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import { SecretRedactor } from "./secret-redactor.js";
3
+ export declare const MAX_PERSISTED_RESULT_CHARACTERS = 2000000;
4
+ /** Redact a validated MCP result and bound only its durable representation. */
5
+ export declare function sanitizePersistedToolResult(result: CallToolResult, redactor: SecretRedactor): CallToolResult;
@@ -0,0 +1,17 @@
1
+ export const MAX_PERSISTED_RESULT_CHARACTERS = 2_000_000;
2
+ /** Redact a validated MCP result and bound only its durable representation. */
3
+ export function sanitizePersistedToolResult(result, redactor) {
4
+ const sanitized = redactor.redact(result);
5
+ const serialized = JSON.stringify(sanitized);
6
+ if (serialized.length <= MAX_PERSISTED_RESULT_CHARACTERS)
7
+ return sanitized;
8
+ return {
9
+ content: [{
10
+ type: "text",
11
+ text: `[Tool output omitted: sanitized result exceeded ${MAX_PERSISTED_RESULT_CHARACTERS} characters.]`,
12
+ }],
13
+ isError: true,
14
+ _meta: { qylOutputTruncated: true },
15
+ };
16
+ }
17
+ //# sourceMappingURL=execution-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-result.js","sourceRoot":"","sources":["../src/execution-result.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,UAAU,2BAA2B,CACzC,MAAsB,EACtB,QAAwB;IAExB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAmB,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,MAAM,IAAI,+BAA+B;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,mDAAmD,+BAA+B,eAAe;aACpG,CAAC;QACF,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
2
+ import type { RequestHandler } from "express";
3
+ export interface McpAppOptions {
4
+ bindHost: string;
5
+ allowedHosts?: readonly string[];
6
+ }
7
+ export declare function loopbackOrigins(port: number): string[];
8
+ /**
9
+ * The official MCP Express middleware owns Host validation. In hosted mode
10
+ * the allowlist is explicit; with the loopback default the SDK supplies its
11
+ * built-in localhost protection.
12
+ */
13
+ export declare function createMcpApp({ bindHost, allowedHosts }: McpAppOptions): import("express").Express;
14
+ /**
15
+ * The transport owns Origin validation. Host validation stays in the
16
+ * Express middleware so hostnames remain port-agnostic behind a proxy.
17
+ */
18
+ export declare function createMcpTransport(allowedOrigins: readonly string[]): StreamableHTTPServerTransport;
19
+ /**
20
+ * Returns the configured static token, rejecting values that cannot safely be
21
+ * represented as a Bearer credential. An unset token deliberately remains
22
+ * undefined so the loopback-only local default stays convenient.
23
+ */
24
+ export declare function readMcpAuthToken(environment?: NodeJS.ProcessEnv): string | undefined;
25
+ /**
26
+ * Protects the public MCP route with the first hosted-mode authentication
27
+ * mechanism. The token is intentionally static and environment-backed; a
28
+ * production OAuth provider can replace this middleware without changing the
29
+ * MCP transport boundary.
30
+ */
31
+ export declare function requireMcpAuthentication(token?: string | undefined): RequestHandler;
32
+ export declare function isLoopbackBindHost(host: string): boolean;
33
+ /** @deprecated Use createMcpApp({ bindHost }) for hosted deployments. */
34
+ export declare function createLoopbackMcpApp(): import("express").Express;
35
+ /** @deprecated Use createMcpTransport(allowedOrigins) for hosted deployments. */
36
+ export declare function createLoopbackMcpTransport(port: number): StreamableHTTPServerTransport;
@@ -0,0 +1,101 @@
1
+ import { timingSafeEqual } from "node:crypto";
2
+ import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
3
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
4
+ function unique(values) {
5
+ return [...new Set(values)];
6
+ }
7
+ export function loopbackOrigins(port) {
8
+ return [
9
+ `http://127.0.0.1:${port}`,
10
+ `http://localhost:${port}`,
11
+ `http://[::1]:${port}`,
12
+ ];
13
+ }
14
+ /**
15
+ * The official MCP Express middleware owns Host validation. In hosted mode
16
+ * the allowlist is explicit; with the loopback default the SDK supplies its
17
+ * built-in localhost protection.
18
+ */
19
+ export function createMcpApp({ bindHost, allowedHosts }) {
20
+ return createMcpExpressApp({
21
+ host: bindHost,
22
+ allowedHosts: allowedHosts === undefined ? undefined : unique(allowedHosts),
23
+ });
24
+ }
25
+ /**
26
+ * The transport owns Origin validation. Host validation stays in the
27
+ * Express middleware so hostnames remain port-agnostic behind a proxy.
28
+ */
29
+ export function createMcpTransport(allowedOrigins) {
30
+ return new StreamableHTTPServerTransport({
31
+ sessionIdGenerator: undefined,
32
+ enableDnsRebindingProtection: true,
33
+ allowedOrigins: unique(allowedOrigins),
34
+ });
35
+ }
36
+ /**
37
+ * Returns the configured static token, rejecting values that cannot safely be
38
+ * represented as a Bearer credential. An unset token deliberately remains
39
+ * undefined so the loopback-only local default stays convenient.
40
+ */
41
+ export function readMcpAuthToken(environment = process.env) {
42
+ const configured = environment.MCP_AUTH_TOKEN;
43
+ if (configured === undefined)
44
+ return undefined;
45
+ const token = configured.trim();
46
+ if (token.length === 0) {
47
+ throw new Error("MCP_AUTH_TOKEN must not be empty");
48
+ }
49
+ if (/\s/u.test(token)) {
50
+ throw new Error("MCP_AUTH_TOKEN must not contain whitespace");
51
+ }
52
+ return token;
53
+ }
54
+ function hasExpectedBearer(authorization, expectedToken) {
55
+ if (typeof authorization !== "string")
56
+ return false;
57
+ const match = /^Bearer[ \t]+([^ \t]+)$/iu.exec(authorization);
58
+ if (match === null)
59
+ return false;
60
+ const actual = Buffer.from(match[1], "utf8");
61
+ const expected = Buffer.from(expectedToken, "utf8");
62
+ return actual.length === expected.length && timingSafeEqual(actual, expected);
63
+ }
64
+ function sendUnauthorized(response) {
65
+ response.setHeader("WWW-Authenticate", 'Bearer realm="qyl-mcp"');
66
+ response.setHeader("Cache-Control", "no-store");
67
+ response.status(401).json({ error: "Unauthorized" });
68
+ }
69
+ /**
70
+ * Protects the public MCP route with the first hosted-mode authentication
71
+ * mechanism. The token is intentionally static and environment-backed; a
72
+ * production OAuth provider can replace this middleware without changing the
73
+ * MCP transport boundary.
74
+ */
75
+ export function requireMcpAuthentication(token = readMcpAuthToken()) {
76
+ return (request, response, next) => {
77
+ // No token is the deliberate local loopback mode. Hosted startup rejects
78
+ // this configuration before the listener is created.
79
+ if (token === undefined) {
80
+ next();
81
+ return;
82
+ }
83
+ if (!hasExpectedBearer(request.headers.authorization, token)) {
84
+ sendUnauthorized(response);
85
+ return;
86
+ }
87
+ next();
88
+ };
89
+ }
90
+ export function isLoopbackBindHost(host) {
91
+ return host === "127.0.0.1" || host === "localhost" || host === "::1";
92
+ }
93
+ /** @deprecated Use createMcpApp({ bindHost }) for hosted deployments. */
94
+ export function createLoopbackMcpApp() {
95
+ return createMcpApp({ bindHost: "127.0.0.1" });
96
+ }
97
+ /** @deprecated Use createMcpTransport(allowedOrigins) for hosted deployments. */
98
+ export function createLoopbackMcpTransport(port) {
99
+ return createMcpTransport(loopbackOrigins(port));
100
+ }
101
+ //# sourceMappingURL=http-security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-security.js","sourceRoot":"","sources":["../src/http-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAQnG,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;QACL,oBAAoB,IAAI,EAAE;QAC1B,oBAAoB,IAAI,EAAE;QAC1B,gBAAgB,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAiB;IACpE,OAAO,mBAAmB,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,cAAiC;IAEjC,OAAO,IAAI,6BAA6B,CAAC;QACvC,kBAAkB,EAAE,SAAS;QAC7B,4BAA4B,EAAE,IAAI;QAClC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAW,GAAsB,OAAO,CAAC,GAAG;IAE5C,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC;IAC9C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,aAA4C,EAC5C,aAAqB;IAErB,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpD,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAK,GAAuB,gBAAgB,EAAE;IAE9C,OAAO,CACL,OAAgB,EAChB,QAAkB,EAClB,IAAkB,EACZ,EAAE;QACR,yEAAyE;QACzE,qDAAqD;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,0BAA0B,CACxC,IAAY;IAEZ,OAAO,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LogBody } from "@ancplua/qyl-api-schema/types";
2
+ /** Render every generated OTel LogBody variant without assuming string-only logs. */
3
+ export declare function logBodyText(body: LogBody): string;
@@ -0,0 +1,12 @@
1
+ /** Render every generated OTel LogBody variant without assuming string-only logs. */
2
+ export function logBodyText(body) {
3
+ if ("string_value" in body)
4
+ return body.string_value;
5
+ if ("kv_list_value" in body) {
6
+ return JSON.stringify(Object.fromEntries(body.kv_list_value.map(({ key, value }) => [key, value])));
7
+ }
8
+ if ("array_value" in body)
9
+ return JSON.stringify(body.array_value);
10
+ return `[base64 bytes: ${body.bytes_value.length} characters]`;
11
+ }
12
+ //# sourceMappingURL=log-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-body.js","sourceRoot":"","sources":["../src/log-body.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC;IACrD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,aAAa,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnE,OAAO,kBAAkB,IAAI,CAAC,WAAW,CAAC,MAAM,cAAc,CAAC;AACjE,CAAC"}
package/dist/main.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Standalone entry point for the qyl telemetry MCP server.
4
+ * Run with: node dist/main.js [--stdio]
5
+ *
6
+ * The qyl.mcp runner does NOT go through this file — it hosts createServer()
7
+ * in-process over an in-memory transport (runner/main.ts). This entry exists
8
+ * for direct chat-client wiring (stdio) and hosted HTTP deployments.
9
+ */
10
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
+ import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
12
+ import type { Server as HttpServer } from "node:http";
13
+ interface CleanupFailure {
14
+ resource: "server" | "transport";
15
+ errorType: string;
16
+ }
17
+ export declare function sanitizedErrorType(error: unknown): string;
18
+ /**
19
+ * McpServer owns its connected transport. A direct transport close is only a
20
+ * fallback when the server-owned close fails, avoiding duplicate close races.
21
+ */
22
+ export declare function closeMcpRequestResources(server: Pick<McpServer, "close">, transport: Pick<Transport, "close">): Promise<CleanupFailure[]>;
23
+ export declare function closeHttpListener(server: HttpServer): Promise<void>;
24
+ export interface StreamableHTTPServerConfig {
25
+ port: number;
26
+ bindHost: string;
27
+ publicUrl?: URL;
28
+ allowedHosts?: string[];
29
+ allowedOrigins: string[];
30
+ authToken?: string;
31
+ hosted: boolean;
32
+ }
33
+ /**
34
+ * Reads the standalone HTTP configuration without exposing secret values in
35
+ * errors or logs. The default remains loopback-only; a non-loopback bind or a
36
+ * public URL is an explicit hosted mode and requires authentication.
37
+ */
38
+ export declare function readStreamableHTTPConfig(environment?: NodeJS.ProcessEnv): StreamableHTTPServerConfig;
39
+ /**
40
+ * Starts an MCP server with Streamable HTTP transport in stateless mode.
41
+ *
42
+ * @param createServer - Factory function that creates a new McpServer instance per request.
43
+ */
44
+ export declare function startStreamableHTTPServer(createServer: () => McpServer): Promise<void>;
45
+ /**
46
+ * Starts an MCP server with stdio transport.
47
+ *
48
+ * @param createServer - Factory function that creates a new McpServer instance.
49
+ */
50
+ export declare function startStdioServer(createServer: () => McpServer): Promise<void>;
51
+ export {};
package/dist/main.js ADDED
@@ -0,0 +1,215 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Standalone entry point for the qyl telemetry MCP server.
4
+ * Run with: node dist/main.js [--stdio]
5
+ *
6
+ * The qyl.mcp runner does NOT go through this file — it hosts createServer()
7
+ * in-process over an in-memory transport (runner/main.ts). This entry exists
8
+ * for direct chat-client wiring (stdio) and hosted HTTP deployments.
9
+ */
10
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
+ import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
12
+ import { resolve } from "node:path";
13
+ import { pathToFileURL } from "node:url";
14
+ import { createServer } from "./server.js";
15
+ import { createMcpApp, createMcpTransport, isLoopbackBindHost, loopbackOrigins, readMcpAuthToken, requireMcpAuthentication, } from "./http-security.js";
16
+ import { mcpErrorResponse, mcpRequestId } from "./mcp-errors.js";
17
+ import { closeDefaultNativeExecutionRuntime } from "./native-execution.js";
18
+ export function sanitizedErrorType(error) {
19
+ if (!(error instanceof Error))
20
+ return "UnknownError";
21
+ return /^[A-Za-z][A-Za-z0-9]*$/.test(error.name) ? error.name : "Error";
22
+ }
23
+ /**
24
+ * McpServer owns its connected transport. A direct transport close is only a
25
+ * fallback when the server-owned close fails, avoiding duplicate close races.
26
+ */
27
+ export async function closeMcpRequestResources(server, transport) {
28
+ try {
29
+ await server.close();
30
+ return [];
31
+ }
32
+ catch (error) {
33
+ const failures = [
34
+ { resource: "server", errorType: sanitizedErrorType(error) },
35
+ ];
36
+ try {
37
+ await transport.close();
38
+ }
39
+ catch (fallbackError) {
40
+ failures.push({
41
+ resource: "transport",
42
+ errorType: sanitizedErrorType(fallbackError),
43
+ });
44
+ }
45
+ return failures;
46
+ }
47
+ }
48
+ function logCleanupFailures(failures) {
49
+ for (const failure of failures) {
50
+ console.error(`Standalone MCP ${failure.resource} cleanup failed (${failure.errorType}); secret details omitted`);
51
+ }
52
+ }
53
+ export function closeHttpListener(server) {
54
+ return new Promise((resolveClose, rejectClose) => {
55
+ server.close((error) => (error ? rejectClose(error) : resolveClose()));
56
+ });
57
+ }
58
+ function commaSeparated(value) {
59
+ return (value ?? "")
60
+ .split(",")
61
+ .map((entry) => entry.trim())
62
+ .filter(Boolean);
63
+ }
64
+ function unique(values) {
65
+ return [...new Set(values)];
66
+ }
67
+ function configuredPublicUrl(environment) {
68
+ const configured = environment.MCP_PUBLIC_URL?.trim();
69
+ if (!configured)
70
+ return undefined;
71
+ let publicUrl;
72
+ try {
73
+ publicUrl = new URL(configured);
74
+ }
75
+ catch {
76
+ throw new Error("MCP_PUBLIC_URL must be an absolute URL");
77
+ }
78
+ if (publicUrl.protocol !== "http:" && publicUrl.protocol !== "https:") {
79
+ throw new Error("MCP_PUBLIC_URL must use HTTP or HTTPS");
80
+ }
81
+ return publicUrl;
82
+ }
83
+ /**
84
+ * Reads the standalone HTTP configuration without exposing secret values in
85
+ * errors or logs. The default remains loopback-only; a non-loopback bind or a
86
+ * public URL is an explicit hosted mode and requires authentication.
87
+ */
88
+ export function readStreamableHTTPConfig(environment = process.env) {
89
+ const port = Number.parseInt(environment.PORT ?? "3001", 10);
90
+ if (!Number.isInteger(port) || port < 1 || port > 65_535) {
91
+ throw new Error("PORT must be an integer from 1 through 65535");
92
+ }
93
+ const bindHost = environment.MCP_BIND_HOST?.trim() || "127.0.0.1";
94
+ const publicUrl = configuredPublicUrl(environment);
95
+ const additionalHosts = commaSeparated(environment.MCP_ALLOWED_HOSTS);
96
+ const additionalOrigins = commaSeparated(environment.MCP_ALLOWED_ORIGINS);
97
+ const allowedHosts = publicUrl
98
+ ? unique([publicUrl.hostname, ...additionalHosts])
99
+ : undefined;
100
+ const allowedOrigins = publicUrl
101
+ ? unique([publicUrl.origin, ...additionalOrigins])
102
+ : loopbackOrigins(port);
103
+ const authToken = readMcpAuthToken(environment);
104
+ const hosted = publicUrl !== undefined || !isLoopbackBindHost(bindHost);
105
+ if (hosted && authToken === undefined) {
106
+ throw new Error("MCP_AUTH_TOKEN must be configured when MCP_BIND_HOST is non-loopback or MCP_PUBLIC_URL is set");
107
+ }
108
+ return {
109
+ port,
110
+ bindHost,
111
+ ...(publicUrl === undefined ? {} : { publicUrl }),
112
+ ...(allowedHosts === undefined ? {} : { allowedHosts }),
113
+ allowedOrigins,
114
+ ...(authToken === undefined ? {} : { authToken }),
115
+ hosted,
116
+ };
117
+ }
118
+ function urlHost(host) {
119
+ return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
120
+ }
121
+ /**
122
+ * Starts an MCP server with Streamable HTTP transport in stateless mode.
123
+ *
124
+ * @param createServer - Factory function that creates a new McpServer instance per request.
125
+ */
126
+ export async function startStreamableHTTPServer(createServer) {
127
+ const config = readStreamableHTTPConfig();
128
+ const app = createMcpApp({
129
+ bindHost: config.bindHost,
130
+ allowedHosts: config.allowedHosts,
131
+ });
132
+ app.get("/healthz", (_request, response) => {
133
+ response.status(200).json({ status: "ok" });
134
+ });
135
+ app.all("/mcp", requireMcpAuthentication(config.authToken), async (req, res) => {
136
+ const server = createServer();
137
+ const transport = createMcpTransport(config.allowedOrigins);
138
+ res.once("close", () => {
139
+ void closeMcpRequestResources(server, transport).then(logCleanupFailures);
140
+ });
141
+ try {
142
+ await server.connect(transport);
143
+ await transport.handleRequest(req, res, req.body);
144
+ }
145
+ catch (error) {
146
+ console.error(`Standalone MCP request failed (${sanitizedErrorType(error)}); secret details omitted`);
147
+ if (!res.headersSent) {
148
+ res
149
+ .status(500)
150
+ .json(mcpErrorResponse(ErrorCode.InternalError, "Internal server error", mcpRequestId(req.body)));
151
+ }
152
+ }
153
+ });
154
+ const httpServer = app.listen(config.port, config.bindHost);
155
+ await new Promise((resolve, reject) => {
156
+ httpServer.once("listening", resolve);
157
+ httpServer.once("error", reject);
158
+ });
159
+ const endpoint = config.publicUrl
160
+ ? new URL("/mcp", config.publicUrl).href
161
+ : `http://${urlHost(config.bindHost)}:${config.port}/mcp`;
162
+ console.log(`MCP server listening on ${endpoint}`);
163
+ let shuttingDown = false;
164
+ const shutdown = () => {
165
+ if (shuttingDown)
166
+ return;
167
+ shuttingDown = true;
168
+ console.log("\nShutting down...");
169
+ void closeHttpListener(httpServer)
170
+ .then(closeDefaultNativeExecutionRuntime)
171
+ .catch((error) => {
172
+ console.error(`Standalone MCP HTTP shutdown cleanup failed (${sanitizedErrorType(error)}); secret details omitted`);
173
+ process.exitCode = 1;
174
+ });
175
+ };
176
+ process.once("SIGINT", shutdown);
177
+ process.once("SIGTERM", shutdown);
178
+ }
179
+ /**
180
+ * Starts an MCP server with stdio transport.
181
+ *
182
+ * @param createServer - Factory function that creates a new McpServer instance.
183
+ */
184
+ export async function startStdioServer(createServer) {
185
+ const server = createServer();
186
+ const transport = new StdioServerTransport();
187
+ await server.connect(transport);
188
+ let shuttingDown = false;
189
+ const shutdown = () => {
190
+ if (shuttingDown)
191
+ return;
192
+ shuttingDown = true;
193
+ void closeMcpRequestResources(server, transport)
194
+ .then(logCleanupFailures)
195
+ .finally(closeDefaultNativeExecutionRuntime);
196
+ };
197
+ process.once("SIGINT", shutdown);
198
+ process.once("SIGTERM", shutdown);
199
+ }
200
+ async function main() {
201
+ if (process.argv.includes("--stdio")) {
202
+ await startStdioServer(() => createServer({ transport: "stdio" }));
203
+ }
204
+ else {
205
+ await startStreamableHTTPServer(() => createServer({ transport: "streamable_http" }));
206
+ }
207
+ }
208
+ const entryPoint = process.argv[1];
209
+ if (entryPoint !== undefined && pathToFileURL(resolve(entryPoint)).href === import.meta.url) {
210
+ void main().catch((error) => {
211
+ console.error(`Standalone MCP startup failed (${sanitizedErrorType(error)}); secret details omitted`);
212
+ process.exitCode = 1;
213
+ });
214
+ }
215
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}