@qverisai/mcp 0.14.6 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAsC,KAAK,MAAM,IAAI,UAAU,EAAuB,MAAM,WAAW,CAAC;AAG/G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,4BAA4B,EAAE,OAAO,CAAC;IACtC,oEAAoE;IACpE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6EAA6E;IAC7E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gFAAgF;AAChF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAAgC;CACvD;AAED,6EAA6E;AAC7E,qBAAa,qCAAsC,SAAQ,KAAK;IAC9D,SAAkB,IAAI,2CAA2C;CAClE;AAED,kFAAkF;AAClF,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAkB,IAAI,2BAA2B;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,iBAAiB,SAAK;CAKpD;AAmED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,eAAe,CA8CnG;AAuED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAClF,QAAQ,CAAC,EAAE,cAAc,EACzB,MAAM,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAiD,GAC7E,OAAO,CAAC,iBAAiB,CAAC,CA0V5B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAsC,KAAK,MAAM,IAAI,UAAU,EAAuB,MAAM,WAAW,CAAC;AAG/G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUxE,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,4BAA4B,EAAE,OAAO,CAAC;IACtC,oEAAoE;IACpE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6EAA6E;IAC7E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gFAAgF;AAChF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAAgC;CACvD;AAED,6EAA6E;AAC7E,qBAAa,qCAAsC,SAAQ,KAAK;IAC9D,SAAkB,IAAI,2CAA2C;CAClE;AAED,kFAAkF;AAClF,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAkB,IAAI,2BAA2B;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,iBAAiB,SAAK;CAKpD;AAmED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,eAAe,CA8CnG;AAuED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;mFAC+E;IAC/E,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAClF,QAAQ,CAAC,EAAE,cAAc,EACzB,MAAM,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAiD,GAC7E,OAAO,CAAC,iBAAiB,CAAC,CAsY5B"}
package/dist/http.js CHANGED
@@ -19,7 +19,8 @@
19
19
  import { createHash, randomUUID, timingSafeEqual } from 'node:crypto';
20
20
  import { createServer } from 'node:http';
21
21
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
22
- import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
22
+ import { waitForOperations } from './operation-lifecycle.js';
23
+ import { isInitializeRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, } from '@modelcontextprotocol/sdk/types.js';
23
24
  import { buildCatalog, buildServerCard, CATALOG_PATH, SERVER_CARD_MEDIA_TYPE, } from './server-card.js';
24
25
  /** The embedding service rejected the credential supplied for a new session. */
25
26
  export class SessionAuthenticationError extends Error {
@@ -262,6 +263,9 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
262
263
  const lastSeen = new Map();
263
264
  const inflight = new Map(); // requests currently being handled per session
264
265
  let boundPort = config.port;
266
+ let draining = false;
267
+ const servers = new Set();
268
+ const requests = new Set();
265
269
  // In-flight guards keep the idle sweep from evicting a session that has an
266
270
  // active request or a live (long-lived) SSE stream. A session is only
267
271
  // eligible for idle eviction once it has zero in-flight requests.
@@ -305,16 +309,20 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
305
309
  logger(`[qveris] MCP session initialized: ${sessionId}\n`);
306
310
  },
307
311
  });
312
+ let server;
308
313
  transport.onclose = () => {
314
+ const closingServer = server;
315
+ if (closingServer)
316
+ void waitForOperations(closingServer).then(() => servers.delete(closingServer));
309
317
  const sessionId = transport.sessionId;
310
318
  if (sessionId && transports.get(sessionId) === transport) {
311
319
  evict(sessionId);
312
320
  logger(`[qveris] MCP session closed: ${sessionId}\n`);
313
321
  }
314
322
  };
315
- let server;
316
323
  try {
317
324
  server = await makeServer(randomUUID(), auth);
325
+ servers.add(server);
318
326
  await server.connect(transport);
319
327
  return transport;
320
328
  }
@@ -328,6 +336,11 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
328
336
  const handler = async (req, res) => {
329
337
  try {
330
338
  const url = new URL(req.url ?? '/', `http://${req.headers.host ?? 'localhost'}`);
339
+ if (draining && (url.pathname !== config.path || req.method !== 'POST')) {
340
+ req.resume();
341
+ writeJson(res, 503, jsonRpcError(null, -32002, 'Server is draining'), { Connection: 'close' });
342
+ return;
343
+ }
331
344
  // Lightweight, unauthenticated health check for load balancers.
332
345
  if (req.method === 'GET' && url.pathname === '/health') {
333
346
  writeJson(res, 200, { status: 'ok', transport: 'streamable-http' });
@@ -429,6 +442,18 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
429
442
  }
430
443
  throw err;
431
444
  }
445
+ // Accepted calls can still need a client response (billing consent).
446
+ // Keep authentication/session binding above and reject all new work,
447
+ // including mixed batches, while allowing only protocol responses.
448
+ if (draining &&
449
+ (!existing ||
450
+ !body ||
451
+ typeof body !== 'object' ||
452
+ 'method' in body ||
453
+ (!isJSONRPCResultResponse(body) && !isJSONRPCErrorResponse(body)))) {
454
+ writeJson(res, 503, jsonRpcError(null, -32002, 'Server is draining'), { Connection: 'close' });
455
+ return;
456
+ }
432
457
  let transport = existing;
433
458
  if (!transport) {
434
459
  if (sessionId !== undefined) {
@@ -476,7 +501,15 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
476
501
  }
477
502
  }
478
503
  else {
479
- await transport.handleRequest(req, res, body);
504
+ try {
505
+ await transport.handleRequest(req, res, body);
506
+ }
507
+ finally {
508
+ // SDK validation can reject initialize without issuing a session
509
+ // or closing its transport. Such servers cannot enter idle sweep.
510
+ if (!transport.sessionId)
511
+ await transport.close();
512
+ }
480
513
  }
481
514
  return;
482
515
  }
@@ -509,7 +542,12 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
509
542
  }
510
543
  };
511
544
  const httpServer = createServer((req, res) => {
512
- void handler(req, res);
545
+ const pending = handler(req, res);
546
+ // Standalone GET SSE is closed only after accepted operations finish.
547
+ if (req.method !== 'GET') {
548
+ requests.add(pending);
549
+ void pending.then(() => requests.delete(pending), () => requests.delete(pending));
550
+ }
513
551
  });
514
552
  await new Promise((resolve, reject) => {
515
553
  httpServer.once('error', reject);
@@ -543,21 +581,29 @@ export async function startHttpServer(config, makeServer, cardInfo, logger = (me
543
581
  }, SWEEP_INTERVAL_MS);
544
582
  sweep.unref();
545
583
  logger(`[qveris] Qveris MCP Server started (streamable-http) on http://${config.host}:${boundPort}${config.path}\n`);
546
- const close = async () => {
584
+ let closing;
585
+ const close = () => {
586
+ if (closing)
587
+ return closing;
588
+ draining = true;
547
589
  clearInterval(sweep);
548
- for (const transport of transports.values()) {
549
- await transport.close().catch(() => undefined);
550
- }
551
- transports.clear();
552
- sessionCredentialFingerprints.clear();
553
- lastSeen.clear();
554
- inflight.clear();
555
- await new Promise((resolve) => {
556
- httpServer.close(() => resolve());
557
- // Don't wait out idle keep-alive sockets (clients pool connections and
558
- // hold them open for seconds); force them closed so shutdown is prompt.
559
- httpServer.closeAllConnections?.();
560
- });
590
+ // Retain the listener for authenticated protocol responses needed by
591
+ // accepted operations; the handler rejects new calls and health checks.
592
+ closing = (async () => {
593
+ while (requests.size)
594
+ await Promise.allSettled([...requests]);
595
+ await Promise.all([...servers].map(waitForOperations));
596
+ const listenerClosed = new Promise((resolve) => httpServer.close(() => resolve()));
597
+ httpServer.closeIdleConnections?.();
598
+ for (const transport of transports.values())
599
+ await transport.close();
600
+ transports.clear();
601
+ sessionCredentialFingerprints.clear();
602
+ lastSeen.clear();
603
+ inflight.clear();
604
+ await listenerClosed;
605
+ })();
606
+ return closing;
561
607
  };
562
608
  return { httpServer, port: boundPort, close };
563
609
  }
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -72,6 +72,13 @@ export declare const QVERIS_MCP_TOOL_ANNOTATIONS: {
72
72
  readonly idempotentHint: true;
73
73
  readonly openWorldHint: false;
74
74
  };
75
+ readonly lookup_execution: {
76
+ readonly title: "Look up a QVeris Call by idempotency key";
77
+ readonly readOnlyHint: true;
78
+ readonly destructiveHint: false;
79
+ readonly idempotentHint: true;
80
+ readonly openWorldHint: false;
81
+ };
75
82
  };
76
83
  /** Discovery metadata (Server Card + Catalog) derived from package.json. */
77
84
  export declare function getQverisServerCardInfo(): ServerCardInfo;
@@ -249,7 +256,9 @@ export declare function listQverisMcpTools(options?: QverisServerOptions): ({
249
256
  };
250
257
  model: {
251
258
  type: string;
259
+ minLength: number;
252
260
  maxLength: number;
261
+ pattern: string;
253
262
  description: string;
254
263
  };
255
264
  max_response_size: {
@@ -270,6 +279,10 @@ export declare function listQverisMcpTools(options?: QverisServerOptions): ({
270
279
  pattern: string;
271
280
  description: string;
272
281
  };
282
+ require_zero_quote: {
283
+ type: string;
284
+ description: string;
285
+ };
273
286
  };
274
287
  required: string[];
275
288
  };
@@ -281,6 +294,28 @@ export declare function listQverisMcpTools(options?: QverisServerOptions): ({
281
294
  readonly idempotentHint: false;
282
295
  readonly openWorldHint: true;
283
296
  };
297
+ } | {
298
+ name: string;
299
+ description: string;
300
+ inputSchema: {
301
+ type: "object";
302
+ properties: {
303
+ idempotency_key: {
304
+ type: string;
305
+ minLength: number;
306
+ description: string;
307
+ };
308
+ };
309
+ required: string[];
310
+ };
311
+ outputSchema: object;
312
+ annotations: {
313
+ readonly title: "Look up a QVeris Call by idempotency key";
314
+ readonly readOnlyHint: true;
315
+ readonly destructiveHint: false;
316
+ readonly idempotentHint: true;
317
+ readonly openWorldHint: false;
318
+ };
284
319
  } | {
285
320
  name: string;
286
321
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAML,KAAK,cAAc,EAEpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKxE,OAAO,EAAuB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAqBpE,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAC;AAWlD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CoB,CAAC;AAE7D,4EAA4E;AAC5E,wBAAgB,uBAAuB,IAAI,cAAc,CAWxD;AAsBD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+EnE;AAGD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIrD,CAAC;AAyCF;;GAEG;AACH,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAiD,EAC5E,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,CAAC,CAqSzB;AAkBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAqGR;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB1C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,GAAG,SAAS,CAUjE;AAKD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,qCAAqC,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACrH,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgDnH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAkB,GAAG,OAAO,CAYhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@
26
26
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
27
27
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
28
28
  import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, SUPPORTED_PROTOCOL_VERSIONS, } from '@modelcontextprotocol/sdk/types.js';
29
+ import { trackOperation } from './operation-lifecycle.js';
29
30
  import { resolveTransportConfig, startHttpServer } from './http.js';
30
31
  import { buildServerCard } from './server-card.js';
31
32
  import { realpathSync } from 'node:fs';
@@ -33,11 +34,13 @@ import { pathToFileURL } from 'node:url';
33
34
  import { v4 as uuidv4 } from 'uuid';
34
35
  import { createClientFromEnv, QverisClient } from './api/client.js';
35
36
  import { searchToolsSchema, executeSearchTools } from './tools/search.js';
36
- import { executeToolSchema, executeExecuteTool } from './tools/execute.js';
37
+ import { executeToolSchema, executeExecuteTool, ExecutePreflightError, } from './tools/execute.js';
37
38
  import { probeToolSchema, executeProbeTool } from './tools/probe.js';
38
39
  import { getToolsByIdsSchema, executeGetToolsByIds } from './tools/get-by-ids.js';
39
40
  import { usageHistorySchema, executeUsageHistory } from './tools/usage-history.js';
40
41
  import { creditsLedgerSchema, executeCreditsLedger } from './tools/credits-ledger.js';
42
+ import { executeLookupExecution, lookupExecutionSchema } from './tools/lookup-execution.js';
43
+ import { isPublicContext, probeGuidance, publicGuidance, withCatalogGuidance } from './execution-guidance.js';
41
44
  import { TOOL_OUTPUT_SCHEMAS } from './output-schemas.js';
42
45
  import { z } from 'zod/v4';
43
46
  // ============================================================================
@@ -92,6 +95,13 @@ export const QVERIS_MCP_TOOL_ANNOTATIONS = {
92
95
  idempotentHint: true,
93
96
  openWorldHint: false,
94
97
  },
98
+ lookup_execution: {
99
+ title: 'Look up a QVeris Call by idempotency key',
100
+ readOnlyHint: true,
101
+ destructiveHint: false,
102
+ idempotentHint: true,
103
+ openWorldHint: false,
104
+ },
95
105
  };
96
106
  /** Discovery metadata (Server Card + Catalog) derived from package.json. */
97
107
  export function getQverisServerCardInfo() {
@@ -113,11 +123,12 @@ const DISCOVER_TOOL_DESCRIPTION = 'Discover available tools when task fit, data
113
123
  'Results may include billing_rule metadata for rule-level pricing.';
114
124
  const INSPECT_TOOL_DESCRIPTION = 'Optionally inspect tools by ID when selection or valid request construction depends on missing/stale contract details. Provider comparison: Inspect each candidate to confirm current scope/contracts; Probe each when current quotes are required. ' +
115
125
  'Returns parameters, success rate, latency, examples, and billing_rule when available. ' +
116
- 'Use tool_ids from a previous discover call.';
126
+ 'For a public-to-authenticated continuation, retain the selected tool_id and omit the public search_id. Use the returned authenticated context for Call.';
117
127
  const CALL_TOOL_DESCRIPTION = 'Call a specific remote tool with provided parameters. ' +
118
- 'The tool_id and search_id must come from a previous discover call. ' +
128
+ 'Use a tool_id and current authenticated search_id from Discover or Inspect. A public search_id cannot be used for Call. ' +
119
129
  'Call directly after Discover when its result contains enough schema and cost information; Inspect and Probe are optional. ' +
120
- 'Pass parameters to the tool through params_to_tool. ' +
130
+ 'Pass parameters to the tool through params_to_tool. Set require_zero_quote=true to require a current exact zero-credit quote before the server dispatches the Call. ' +
131
+ 'For uncertain outcomes, use the returned idempotency_key with lookup_execution; keys are issued by the host client and lookup never submits a new Call. ' +
121
132
  'Reuse only exact routes; rebuild current parameters and Call again for current/latest/today/time-sensitive data. ' +
122
133
  'The response may include pre-settlement billing; use usage_history or credits_ledger for final charge status.';
123
134
  /**
@@ -159,6 +170,13 @@ export function listQverisMcpTools(options = {}) {
159
170
  outputSchema: TOOL_OUTPUT_SCHEMAS.call,
160
171
  annotations: QVERIS_MCP_TOOL_ANNOTATIONS.call,
161
172
  },
173
+ {
174
+ name: 'lookup_execution',
175
+ description: 'Read-only lookup for a prior Call by its exact idempotency key. It never submits or retries a Call.',
176
+ inputSchema: lookupExecutionSchema,
177
+ outputSchema: TOOL_OUTPUT_SCHEMAS.lookup_execution,
178
+ annotations: QVERIS_MCP_TOOL_ANNOTATIONS.lookup_execution,
179
+ },
162
180
  {
163
181
  name: 'usage_history',
164
182
  description: 'Context-safe usage audit query. Defaults to aggregated summary, supports precise search by execution_id/search_id/charge_outcome/credit range, and writes large exports to a local JSONL file instead of returning all rows.',
@@ -282,7 +300,7 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
282
300
  isError: true,
283
301
  };
284
302
  }
285
- const result = await executeSearchTools(client, input, defaultSessionId);
303
+ const result = withCatalogGuidance(await executeSearchTools(client, input, defaultSessionId));
286
304
  return {
287
305
  content: [
288
306
  {
@@ -311,7 +329,7 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
311
329
  isError: true,
312
330
  };
313
331
  }
314
- const result = await executeGetToolsByIds(client, input, defaultSessionId);
332
+ const result = withCatalogGuidance(await executeGetToolsByIds(client, input, defaultSessionId));
315
333
  return {
316
334
  content: [
317
335
  {
@@ -347,6 +365,16 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
347
365
  isError: true,
348
366
  };
349
367
  }
368
+ if (isPublicContext(input.search_id)) {
369
+ const advice = publicGuidance();
370
+ const result = {
371
+ error: advice.message,
372
+ code: 'AUTH_PUBLIC_CONTEXT',
373
+ execution_guidance: advice,
374
+ next_action: requiredAction(advice.action),
375
+ };
376
+ return { content: [{ type: 'text', text: JSON.stringify(result) }], structuredContent: result, isError: true };
377
+ }
350
378
  // Human-in-the-loop billing consent (MCP elicitation), when enabled and
351
379
  // the client supports it. Declining cancels the charged call.
352
380
  if (confirmCall && !(await confirmCall({ toolId: input.tool_id }))) {
@@ -366,21 +394,30 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
366
394
  }
367
395
  const result = await executeExecuteTool(client, input, defaultSessionId);
368
396
  const executionId = typeof result.execution_id === 'string' && result.execution_id.trim() ? result.execution_id : null;
369
- const validSuccess = result.success === true && executionId;
370
- const action = validSuccess ? 'none' : executionId ? 'reconcile_settlement' : 'review_settlement';
397
+ const needsSettlementReview = result.settlement_review != null;
398
+ const validSuccess = result.success === true && executionId && !needsSettlementReview;
399
+ const action = needsSettlementReview
400
+ ? 'manual_settlement_review'
401
+ : validSuccess
402
+ ? 'none'
403
+ : executionId
404
+ ? 'reconcile_settlement'
405
+ : 'review_settlement';
371
406
  const resultWithAction = {
372
407
  ...result,
373
408
  next_action: {
374
409
  action,
375
410
  automatic: false,
376
- requires_user: !validSuccess && !executionId,
411
+ requires_user: needsSettlementReview || (!validSuccess && !executionId),
377
412
  missing_fields: [],
378
413
  ...(!validSuccess && {
379
- reason: executionId
380
- ? result.success === false
381
- ? 'call_failed_after_submission'
382
- : 'invalid_call_response'
383
- : 'execution_id_unavailable',
414
+ reason: needsSettlementReview
415
+ ? (result.settlement_review?.reason_code ?? 'settlement_review_required')
416
+ : executionId
417
+ ? result.success === false
418
+ ? 'call_failed_after_submission'
419
+ : 'invalid_call_response'
420
+ : 'execution_id_unavailable',
384
421
  }),
385
422
  },
386
423
  };
@@ -395,6 +432,14 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
395
432
  ...(validSuccess ? {} : { isError: true }),
396
433
  };
397
434
  }
435
+ if (name === 'lookup_execution') {
436
+ const input = (args ?? {});
437
+ const result = await executeLookupExecution(client, input);
438
+ return {
439
+ content: [{ type: 'text', text: JSON.stringify(result) }],
440
+ structuredContent: result,
441
+ };
442
+ }
398
443
  if (name === 'probe') {
399
444
  const input = (args ?? {});
400
445
  if (!input.tool_id || typeof input.tool_id !== 'string') {
@@ -411,7 +456,8 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
411
456
  isError: true,
412
457
  };
413
458
  }
414
- const result = await executeProbeTool(client, input);
459
+ const wire = await executeProbeTool(client, input);
460
+ const result = { ...wire, execution_guidance: probeGuidance(wire, input.checks?.includes('quote') === true) };
415
461
  return {
416
462
  content: [{ type: 'text', text: JSON.stringify(result) }],
417
463
  structuredContent: result,
@@ -450,7 +496,15 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
450
496
  type: 'text',
451
497
  text: JSON.stringify({
452
498
  error: `Unknown tool: ${rawName}`,
453
- available_tools: ['discover', 'inspect', 'probe', 'call', 'usage_history', 'credits_ledger'],
499
+ available_tools: [
500
+ 'discover',
501
+ 'inspect',
502
+ 'probe',
503
+ 'call',
504
+ 'lookup_execution',
505
+ 'usage_history',
506
+ 'credits_ledger',
507
+ ],
454
508
  next_action: requiredAction('select_supported_tool'),
455
509
  }),
456
510
  },
@@ -459,6 +513,15 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
459
513
  };
460
514
  }
461
515
  catch (error) {
516
+ if (error instanceof ExecutePreflightError) {
517
+ const advice = error.guidance;
518
+ const result = {
519
+ error: advice.message,
520
+ execution_guidance: advice,
521
+ next_action: { ...requiredAction(advice.action), reason: advice.reason },
522
+ };
523
+ return { content: [{ type: 'text', text: JSON.stringify(result) }], structuredContent: result, isError: true };
524
+ }
462
525
  // Handle API errors.
463
526
  if (isApiError(error)) {
464
527
  return {
@@ -470,9 +533,13 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
470
533
  status: error.status,
471
534
  ...(error.details !== undefined && { details: error.details }),
472
535
  ...(error.cause && { cause: error.cause }),
473
- next_action: name === 'call'
474
- ? recoveryFor(error.status, name, error.details)
475
- : (error.next_action ?? recoveryFor(error.status, name, error.details)),
536
+ ...(error.idempotency_key && { idempotency_key: error.idempotency_key }),
537
+ ...(error.recovery !== undefined && { recovery: error.recovery }),
538
+ next_action: name === 'call' && error.idempotency_key
539
+ ? requiredAction('lookup_execution')
540
+ : name === 'call'
541
+ ? recoveryFor(error.status, name, error.details)
542
+ : (error.next_action ?? recoveryFor(error.status, name, error.details)),
476
543
  observability: compactObject({
477
544
  ...mcpObservability,
478
545
  api: error.observability,
@@ -484,11 +551,23 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
484
551
  };
485
552
  }
486
553
  // Handle other errors (including fetch network errors).
487
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
554
+ const errorMessage = error instanceof Error
555
+ ? error.message
556
+ : error && typeof error === 'object' && 'message' in error
557
+ ? String(error.message)
558
+ : 'Unknown error occurred';
488
559
  const errorCause = error instanceof Error && error.cause instanceof Error ? error.cause.message : undefined;
489
- const nextAction = name === 'call'
490
- ? { action: 'review_settlement', requires_user: true, reason: 'execution_id_unavailable' }
491
- : { action: 'review_and_retry', requires_user: true };
560
+ const recovery = error && typeof error === 'object' && 'recovery' in error
561
+ ? error.recovery
562
+ : undefined;
563
+ const idempotencyKey = error && typeof error === 'object' && 'idempotency_key' in error
564
+ ? error.idempotency_key
565
+ : undefined;
566
+ const nextAction = name === 'call' && typeof idempotencyKey === 'string'
567
+ ? { action: 'lookup_execution', requires_user: true }
568
+ : name === 'call'
569
+ ? { action: 'review_settlement', requires_user: true, reason: 'execution_id_unavailable' }
570
+ : { action: 'review_and_retry', requires_user: true };
492
571
  return {
493
572
  content: [
494
573
  {
@@ -501,6 +580,8 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
501
580
  automatic: false,
502
581
  missing_fields: [],
503
582
  },
583
+ ...(recovery !== undefined ? { recovery } : {}),
584
+ ...(typeof idempotencyKey === 'string' && { idempotency_key: idempotencyKey }),
504
585
  }),
505
586
  },
506
587
  ],
@@ -537,7 +618,7 @@ export function createQverisServer(client, defaultSessionId, options = {}) {
537
618
  // McpServer applies the element-count guard before validating tool arguments.
538
619
  // Register aliases too, since stale clients may still invoke names hidden from discovery.
539
620
  for (const { name, description } of listQverisMcpTools()) {
540
- mcpServer.registerTool(name, { description, inputSchema: z.object({}).catchall(z.unknown()) }, async (args) => executeQverisMcpTool(client, defaultSessionId, name, args, undefined, confirmCall));
621
+ mcpServer.registerTool(name, { description, inputSchema: z.object({}).catchall(z.unknown()) }, async (args) => trackOperation(server, () => executeQverisMcpTool(client, defaultSessionId, name, args, undefined, confirmCall)));
541
622
  }
542
623
  // Hosted embeddings may suppress deprecated names from discovery while
543
624
  // retaining server-side alias resolution for already-configured clients.
@@ -603,7 +684,7 @@ export function createQverisServer(client, defaultSessionId, options = {}) {
603
684
  if (!client) {
604
685
  throw new Error('QVERIS_API_KEY is not set; capability metadata requires an API key.');
605
686
  }
606
- const detail = await client.getToolsByIds({ tool_ids: [toolId] });
687
+ const detail = await trackOperation(server, () => client.getToolsByIds({ tool_ids: [toolId] }));
607
688
  return {
608
689
  contents: [{ uri, mimeType: 'application/json', text: JSON.stringify(detail) }],
609
690
  };