qyl-mcp-server 6.0.0 → 6.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.
package/README.md CHANGED
@@ -52,6 +52,20 @@ mutates it. On the hosted server they all sit behind the single `qyl:read` scope
52
52
 
53
53
  The `display_*` tools return MCP Apps UI resources as single-file viewers.
54
54
 
55
+ Every tool runs inside its request scope. Cancellation: a
56
+ `notifications/cancelled` for the request, or a closed connection, aborts the
57
+ in-flight collector fetch instead of waiting out its timeout. Progress: a
58
+ request that carries a `progressToken` gets `notifications/progress` per
59
+ completed step, one per collector round trip plus a final "Result ready"
60
+ (`ci_log` with a `run_id` reports the flatten into legs as a step of its own).
61
+ Logging: the server declares the `logging` capability and sends one
62
+ `notifications/message` per call, `info` on success and `warning` on failure,
63
+ under the logger `qyl.mcp`. On revision `2026-07-28` the client's level travels
64
+ per request in `_meta["io.modelcontextprotocol/logLevel"]`; a request without
65
+ it gets no log line, and `logging/setLevel` does not exist in that revision.
66
+ MCP logging is deprecated as of that revision (SEP-2577) and kept here through
67
+ the deprecation window beside stderr and OpenTelemetry.
68
+
55
69
  Every inbound `tools/call` on a local server — `--stdio`, or HTTP without
56
70
  `MCP_PUBLIC_URL` — is recorded natively: validated result, lifecycle, duration,
57
71
  redacted JSON-RPC timeline, and trace/span correlation, persisted atomically to
@@ -82,6 +96,28 @@ so serving it requires Bun.
82
96
 
83
97
  ## Release notes
84
98
 
99
+ ### 6.1.0
100
+
101
+ - Every tool handler runs inside `runTool`, which resolves the SDK request
102
+ context once and hands the work a plain scope. Cancellation: the request's
103
+ signal reaches every collector fetch, which already raced a signal against
104
+ its timeout but had no caller passing one, so a client's
105
+ `notifications/cancelled` or a dropped connection now aborts the fetch at
106
+ once. Data-layer functions (`fetchTraces`, `fetchLogs`, `listMetrics`, …)
107
+ gained a trailing `CollectorRequestOptions` argument; existing callers are
108
+ unaffected.
109
+ - Progress on every tool: a request with a `progressToken` gets one
110
+ `notifications/progress` per completed collector round trip and a final
111
+ "Result ready"; `ci_log` with a `run_id` reports its per-leg flatten as a
112
+ step of its own. Progress increases per token by construction. A request
113
+ without a token gets nothing.
114
+ - The `logging` capability is declared and every call sends one
115
+ `notifications/message` (`info` on success, `warning` on failure, logger
116
+ `qyl.mcp`) to a request that carries a log level in its `_meta` envelope.
117
+ Deprecated as of `2026-07-28` (SEP-2577), kept through the deprecation
118
+ window beside stderr and OpenTelemetry. Tool surface, manifest snapshot and
119
+ contract handshake are unchanged.
120
+
85
121
  ### 6.0.0
86
122
 
87
123
  - Revision `2026-07-28` only, again, on both transports: `createMcpHandler`
package/dist/ci.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { CiLogInputSchema, CiLogOutputSchema, compactOutputSchema, } from "./contract-validation.js";
2
2
  import { fetchSessions, fetchSessionTraces } from "./data.js";
3
+ import { runTool } from "./request-scope.js";
3
4
  import { telemetryToolResult } from "./telemetry-redaction.js";
4
- import { READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS, toolError } from "./tools.js";
5
+ import { READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS } from "./tools.js";
5
6
  /** Resource service-name prefix that marks telemetry as CI-emitted. */
6
7
  export const CI_SERVICE_PREFIX = "qyl-ci";
7
8
  /** CI sessions are the ones that carry at least one qyl-ci service. */
@@ -77,31 +78,34 @@ export function registerCiTools(server) {
77
78
  inputSchema: CiLogInputSchema,
78
79
  outputSchema: compactOutputSchema(CiLogOutputSchema),
79
80
  annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
80
- }, async (args) => {
81
- try {
82
- if (args.run_id) {
83
- const { traces, mode } = await fetchSessionTraces(args.run_id, 100);
84
- const phases = collectCiPhases(traces);
85
- const output = { run_id: args.run_id, phases, mode };
86
- return telemetryToolResult(summarizeCiRun(args.run_id, phases, mode), output);
87
- }
88
- const { sessions, mode } = await fetchSessions(50, undefined);
89
- const runs = filterCiSessions(sessions)
90
- .slice(0, args.limit ?? 10)
91
- .map((session) => ({
92
- run_id: session["session_id"],
93
- state: session.state,
94
- start_time: session.start_time,
95
- ...(session.duration_ms === undefined ? {} : { duration_ms: session.duration_ms }),
96
- error_count: session.error_count,
97
- services: session.services,
98
- }));
99
- const output = { runs, mode };
100
- return telemetryToolResult(summarizeCiRuns(runs, mode), output);
81
+ }, (args, ctx) =>
82
+ // A run breakdown is two units a client can watch: the collector round
83
+ // trip for the run's traces, then the flatten into per-leg phases. The
84
+ // run list is one round trip.
85
+ runTool(ctx, "ci_log", args.run_id ? 2 : 1, async (scope) => {
86
+ if (args.run_id) {
87
+ const { traces, mode } = await fetchSessionTraces(args.run_id, 100, scope.collector);
88
+ await scope.step(`Fetched ${traces.length} trace(s) of CI run ${args.run_id}`);
89
+ const phases = collectCiPhases(traces);
90
+ const legs = new Set(phases.map((phase) => phase.leg)).size;
91
+ await scope.step(`Collected ${phases.length} phase(s) across ${legs} leg(s)`);
92
+ const output = { run_id: args.run_id, phases, mode };
93
+ return telemetryToolResult(summarizeCiRun(args.run_id, phases, mode), output);
101
94
  }
102
- catch (err) {
103
- return toolError(err);
104
- }
105
- });
95
+ const { sessions, mode } = await fetchSessions(50, undefined, scope.collector);
96
+ const runs = filterCiSessions(sessions)
97
+ .slice(0, args.limit ?? 10)
98
+ .map((session) => ({
99
+ run_id: session["session_id"],
100
+ state: session.state,
101
+ start_time: session.start_time,
102
+ ...(session.duration_ms === undefined ? {} : { duration_ms: session.duration_ms }),
103
+ error_count: session.error_count,
104
+ services: session.services,
105
+ }));
106
+ await scope.step(`Found ${runs.length} CI run(s) among ${sessions.length} session(s)`);
107
+ const output = { runs, mode };
108
+ return telemetryToolResult(summarizeCiRuns(runs, mode), output);
109
+ }));
106
110
  }
107
111
  //# sourceMappingURL=ci.js.map
package/dist/ci.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ci.js","sourceRoot":"","sources":["../src/ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci.js","sourceRoot":"","sources":["../src/ci.ts"],"names":[],"mappings":"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"}
package/dist/data.d.ts CHANGED
@@ -2,21 +2,22 @@
2
2
  * Telemetry fetching (shared by model tools, display tools, fetch_telemetry —
3
3
  * demo mode honors every filter the live endpoints support).
4
4
  */
5
+ import { type CollectorRequestOptions } from "./collector.js";
5
6
  import type { SessionId, TraceId } from "@ancplua/qyl-api-schema/types";
6
7
  import type { McpDashboardStats, Mode, QylLogRecord, QylSession, QylTrace } from "./wire.js";
7
- export declare function fetchTraces(limit: number): Promise<{
8
+ export declare function fetchTraces(limit: number, options?: CollectorRequestOptions): Promise<{
8
9
  traces: QylTrace[];
9
10
  mode: Mode;
10
11
  }>;
11
- export declare function fetchTrace(traceId: string): Promise<{
12
+ export declare function fetchTrace(traceId: string, options?: CollectorRequestOptions): Promise<{
12
13
  trace: QylTrace;
13
14
  mode: Mode;
14
15
  }>;
15
- export declare function fetchSessionTraces(sessionId: string, limit: number): Promise<{
16
+ export declare function fetchSessionTraces(sessionId: string, limit: number, options?: CollectorRequestOptions): Promise<{
16
17
  traces: QylTrace[];
17
18
  mode: Mode;
18
19
  }>;
19
- export declare function fetchSessions(limit: number, activeOnly?: boolean): Promise<{
20
+ export declare function fetchSessions(limit: number, activeOnly?: boolean, options?: CollectorRequestOptions): Promise<{
20
21
  sessions: QylSession[];
21
22
  mode: Mode;
22
23
  }>;
@@ -27,7 +28,7 @@ interface LogFilters {
27
28
  query?: string;
28
29
  limit: number;
29
30
  }
30
- export declare function fetchLogs(filters: LogFilters): Promise<{
31
+ export declare function fetchLogs(filters: LogFilters, options?: CollectorRequestOptions): Promise<{
31
32
  logs: QylLogRecord[];
32
33
  mode: Mode;
33
34
  }>;
@@ -36,11 +37,11 @@ export declare function fetchTracesForDisplay(args: {
36
37
  trace_id?: TraceId;
37
38
  session_id?: SessionId;
38
39
  limit: number;
39
- }): Promise<{
40
+ }, options?: CollectorRequestOptions): Promise<{
40
41
  traces: QylTrace[];
41
42
  selected_trace_id?: TraceId;
42
43
  mode: Mode;
43
44
  }>;
44
45
  /** Shared by display_mcp_dashboard and fetch_telemetry (view "mcp_stats"). */
45
- export declare function fetchMcpStats(hours: number): Promise<McpDashboardStats>;
46
+ export declare function fetchMcpStats(hours: number, options?: CollectorRequestOptions): Promise<McpDashboardStats>;
46
47
  export {};
package/dist/data.js CHANGED
@@ -8,18 +8,18 @@ import { logBodyText } from "./log-body.js";
8
8
  import { aggregateMcpStats, pickBucketMs } from "./stats.js";
9
9
  import { redactTelemetry } from "./telemetry-redaction.js";
10
10
  import { LogsListResponseSchema, SessionsListResponseSchema, SessionTracesListResponseSchema, TracesListResponseSchema, } from "./contract-validation.js";
11
- export async function fetchTraces(limit) {
11
+ export async function fetchTraces(limit, options = {}) {
12
12
  const mode = await resolveMode();
13
13
  if (mode === "demo") {
14
14
  return redactTelemetry({ traces: getDemo().traces.slice(0, limit), mode });
15
15
  }
16
- const body = await collectorGet("/api/v1/traces", { limit });
16
+ const body = await collectorGet("/api/v1/traces", { limit }, options);
17
17
  return redactTelemetry({
18
18
  traces: parseCollectorPage(body, "/api/v1/traces", TracesListResponseSchema, parseCollectorTrace).items,
19
19
  mode,
20
20
  });
21
21
  }
22
- export async function fetchTrace(traceId) {
22
+ export async function fetchTrace(traceId, options = {}) {
23
23
  const mode = await resolveMode();
24
24
  if (mode === "demo") {
25
25
  const trace = getDemo().traces.find((t) => t.trace_id === traceId);
@@ -28,7 +28,7 @@ export async function fetchTrace(traceId) {
28
28
  return redactTelemetry({ trace, mode });
29
29
  }
30
30
  try {
31
- const trace = parseCollectorTrace(await collectorGet(`/api/v1/traces/${encodeURIComponent(traceId)}`), `/api/v1/traces/${traceId}`);
31
+ const trace = parseCollectorTrace(await collectorGet(`/api/v1/traces/${encodeURIComponent(traceId)}`, {}, options), `/api/v1/traces/${traceId}`);
32
32
  return redactTelemetry({ trace, mode });
33
33
  }
34
34
  catch (err) {
@@ -38,7 +38,7 @@ export async function fetchTrace(traceId) {
38
38
  throw err;
39
39
  }
40
40
  }
41
- export async function fetchSessionTraces(sessionId, limit) {
41
+ export async function fetchSessionTraces(sessionId, limit, options = {}) {
42
42
  const mode = await resolveMode();
43
43
  if (mode === "demo") {
44
44
  const traces = getDemo().sessionTraces[sessionId];
@@ -47,7 +47,7 @@ export async function fetchSessionTraces(sessionId, limit) {
47
47
  return redactTelemetry({ traces: traces.slice(0, limit), mode });
48
48
  }
49
49
  try {
50
- const body = await collectorGet(`/api/v1/sessions/${encodeURIComponent(sessionId)}/traces`, { limit });
50
+ const body = await collectorGet(`/api/v1/sessions/${encodeURIComponent(sessionId)}/traces`, { limit }, options);
51
51
  return redactTelemetry({
52
52
  traces: parseCollectorPage(body, `/api/v1/sessions/${sessionId}/traces`, SessionTracesListResponseSchema, parseCollectorTrace).items,
53
53
  mode,
@@ -60,22 +60,19 @@ export async function fetchSessionTraces(sessionId, limit) {
60
60
  throw err;
61
61
  }
62
62
  }
63
- export async function fetchSessions(limit, activeOnly) {
63
+ export async function fetchSessions(limit, activeOnly, options = {}) {
64
64
  const mode = await resolveMode();
65
65
  if (mode === "demo") {
66
66
  const sessions = (activeOnly ? getDemo().sessions.filter((s) => s.state === "active") : getDemo().sessions).slice(0, limit);
67
67
  return redactTelemetry({ sessions, mode });
68
68
  }
69
- const body = await collectorGet("/api/v1/sessions", {
70
- limit,
71
- is_active: activeOnly ? true : undefined,
72
- });
69
+ const body = await collectorGet("/api/v1/sessions", { limit, is_active: activeOnly ? true : undefined }, options);
73
70
  return redactTelemetry({
74
71
  sessions: parseCollectorPage(body, "/api/v1/sessions", SessionsListResponseSchema, parseCollectorSession).items,
75
72
  mode,
76
73
  });
77
74
  }
78
- export async function fetchLogs(filters) {
75
+ export async function fetchLogs(filters, options = {}) {
79
76
  const mode = await resolveMode();
80
77
  if (mode === "demo") {
81
78
  let logs = getDemo().logs;
@@ -100,25 +97,25 @@ export async function fetchLogs(filters) {
100
97
  severity_min: filters.severity_min,
101
98
  query: filters.query,
102
99
  limit: filters.limit,
103
- });
100
+ }, options);
104
101
  return redactTelemetry({
105
102
  logs: parseCollectorPage(body, "/api/v1/logs", LogsListResponseSchema, parseCollectorLog).items,
106
103
  mode,
107
104
  });
108
105
  }
109
106
  /** Shared by display_traces and fetch_telemetry (view "traces"). */
110
- export async function fetchTracesForDisplay(args) {
107
+ export async function fetchTracesForDisplay(args, options = {}) {
111
108
  if (args.trace_id) {
112
- const { trace, mode } = await fetchTrace(args.trace_id);
109
+ const { trace, mode } = await fetchTrace(args.trace_id, options);
113
110
  return { traces: [trace], selected_trace_id: args.trace_id, mode };
114
111
  }
115
112
  if (args.session_id) {
116
- return fetchSessionTraces(args.session_id, args.limit);
113
+ return fetchSessionTraces(args.session_id, args.limit, options);
117
114
  }
118
- return fetchTraces(args.limit);
115
+ return fetchTraces(args.limit, options);
119
116
  }
120
117
  /** Shared by display_mcp_dashboard and fetch_telemetry (view "mcp_stats"). */
121
- export async function fetchMcpStats(hours) {
118
+ export async function fetchMcpStats(hours, options = {}) {
122
119
  const mode = await resolveMode();
123
120
  const windowEnd = Date.now();
124
121
  const windowStart = windowEnd - hours * 3_600_000;
@@ -127,7 +124,7 @@ export async function fetchMcpStats(hours) {
127
124
  const stats = aggregateMcpStats(redactTelemetry(getDemoMcpSpans()), windowStart, windowEnd, bucketMs);
128
125
  return redactTelemetry({ ...stats, truncated: false, mode });
129
126
  }
130
- const body = await collectorGet("/api/v1/traces", { limit: 1000 });
127
+ const body = await collectorGet("/api/v1/traces", { limit: 1000 }, options);
131
128
  const page = parseCollectorPage(body, "/api/v1/traces", TracesListResponseSchema, parseCollectorTrace);
132
129
  const traces = redactTelemetry(page.items);
133
130
  const spans = traces.flatMap((t) => t.spans);
package/dist/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}