@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.
- package/CHANGELOG.md +23 -1
- package/README.md +11 -3
- package/dist/api/client.d.ts +12 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +131 -35
- package/dist/api/client.js.map +1 -1
- package/dist/execution-guidance.d.ts +81 -0
- package/dist/execution-guidance.d.ts.map +1 -0
- package/dist/execution-guidance.js +81 -0
- package/dist/execution-guidance.js.map +1 -0
- package/dist/http.d.ts +2 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +64 -18
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -25
- package/dist/index.js.map +1 -1
- package/dist/operation-lifecycle.d.ts +4 -0
- package/dist/operation-lifecycle.d.ts.map +1 -0
- package/dist/operation-lifecycle.js +23 -0
- package/dist/operation-lifecycle.js.map +1 -0
- package/dist/output-schemas.d.ts.map +1 -1
- package/dist/output-schemas.js +12 -0
- package/dist/output-schemas.js.map +1 -1
- package/dist/tools/execute.d.ts +13 -0
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +54 -3
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/lookup-execution.d.ts +19 -0
- package/dist/tools/lookup-execution.d.ts.map +1 -0
- package/dist/tools/lookup-execution.js +28 -0
- package/dist/tools/lookup-execution.js.map +1 -0
- package/dist/types.d.ts +70 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/http.d.ts.map
CHANGED
|
@@ -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;
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
584
|
+
let closing;
|
|
585
|
+
const close = () => {
|
|
586
|
+
if (closing)
|
|
587
|
+
return closing;
|
|
588
|
+
draining = true;
|
|
547
589
|
clearInterval(sweep);
|
|
548
|
-
for
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
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;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
-
'
|
|
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
|
|
370
|
-
const
|
|
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:
|
|
380
|
-
? result.
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
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
|
|
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: [
|
|
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
|
-
|
|
474
|
-
|
|
475
|
-
|
|
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
|
|
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
|
|
490
|
-
?
|
|
491
|
-
:
|
|
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
|
};
|