@qverisai/mcp 0.7.5 → 0.9.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 (43) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/README.md +297 -236
  3. package/dist/api/client.d.ts +9 -0
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +113 -76
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/http.d.ts +99 -0
  8. package/dist/http.d.ts.map +1 -0
  9. package/dist/http.js +564 -0
  10. package/dist/http.js.map +1 -0
  11. package/dist/index.d.ts +107 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +176 -60
  14. package/dist/index.js.map +1 -1
  15. package/dist/output-schemas.d.ts +12 -0
  16. package/dist/output-schemas.d.ts.map +1 -0
  17. package/dist/output-schemas.js +61 -0
  18. package/dist/output-schemas.js.map +1 -0
  19. package/dist/retry.d.ts +42 -0
  20. package/dist/retry.d.ts.map +1 -0
  21. package/dist/retry.js +69 -0
  22. package/dist/retry.js.map +1 -0
  23. package/dist/server-card.d.ts +85 -0
  24. package/dist/server-card.d.ts.map +1 -0
  25. package/dist/server-card.js +87 -0
  26. package/dist/server-card.js.map +1 -0
  27. package/dist/tools/audit-utils.d.ts.map +1 -1
  28. package/dist/tools/audit-utils.js +11 -16
  29. package/dist/tools/audit-utils.js.map +1 -1
  30. package/dist/tools/credits-ledger.d.ts +1 -2
  31. package/dist/tools/credits-ledger.d.ts.map +1 -1
  32. package/dist/tools/credits-ledger.js.map +1 -1
  33. package/dist/tools/execute.d.ts.map +1 -1
  34. package/dist/tools/execute.js.map +1 -1
  35. package/dist/tools/get-by-ids.d.ts.map +1 -1
  36. package/dist/tools/get-by-ids.js +1 -2
  37. package/dist/tools/get-by-ids.js.map +1 -1
  38. package/dist/tools/usage-history.d.ts +1 -2
  39. package/dist/tools/usage-history.d.ts.map +1 -1
  40. package/dist/tools/usage-history.js.map +1 -1
  41. package/dist/types.d.ts +6 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +70 -59
package/dist/index.d.ts CHANGED
@@ -23,8 +23,14 @@
23
23
  * }
24
24
  * ```
25
25
  */
26
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
26
27
  import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
28
+ import { resolveTransportConfig, startHttpServer } from './http.js';
29
+ import { type ServerCardInfo } from './server-card.js';
27
30
  import { QverisClient } from './api/client.js';
31
+ export declare const SERVER_VERSION: string;
32
+ /** Discovery metadata (Server Card + Catalog) derived from package.json. */
33
+ export declare function getQverisServerCardInfo(): ServerCardInfo;
28
34
  /**
29
35
  * List the MCP tools exposed by this server.
30
36
  *
@@ -55,6 +61,7 @@ export declare function listQverisMcpTools(): ({
55
61
  };
56
62
  required: string[];
57
63
  };
64
+ outputSchema: object;
58
65
  } | {
59
66
  name: string;
60
67
  description: string;
@@ -80,6 +87,7 @@ export declare function listQverisMcpTools(): ({
80
87
  };
81
88
  required: string[];
82
89
  };
90
+ outputSchema: object;
83
91
  } | {
84
92
  name: string;
85
93
  description: string;
@@ -110,6 +118,7 @@ export declare function listQverisMcpTools(): ({
110
118
  };
111
119
  required: string[];
112
120
  };
121
+ outputSchema: object;
113
122
  } | {
114
123
  name: string;
115
124
  description: string;
@@ -174,6 +183,7 @@ export declare function listQverisMcpTools(): ({
174
183
  };
175
184
  };
176
185
  };
186
+ outputSchema: object;
177
187
  } | {
178
188
  name: string;
179
189
  description: string;
@@ -223,18 +233,112 @@ export declare function listQverisMcpTools(): ({
223
233
  };
224
234
  };
225
235
  };
236
+ outputSchema: object;
237
+ } | {
238
+ name: string;
239
+ description: string;
240
+ inputSchema: {
241
+ type: "object";
242
+ properties: {
243
+ query: {
244
+ type: string;
245
+ description: string;
246
+ };
247
+ limit: {
248
+ type: string;
249
+ description: string;
250
+ default: number;
251
+ minimum: number;
252
+ maximum: number;
253
+ };
254
+ session_id: {
255
+ type: string;
256
+ description: string;
257
+ };
258
+ };
259
+ required: string[];
260
+ };
261
+ outputSchema?: undefined;
262
+ } | {
263
+ name: string;
264
+ description: string;
265
+ inputSchema: {
266
+ type: "object";
267
+ properties: {
268
+ tool_ids: {
269
+ type: string;
270
+ items: {
271
+ type: string;
272
+ };
273
+ description: string;
274
+ minItems: number;
275
+ };
276
+ search_id: {
277
+ type: string;
278
+ description: string;
279
+ };
280
+ session_id: {
281
+ type: string;
282
+ description: string;
283
+ };
284
+ };
285
+ required: string[];
286
+ };
287
+ outputSchema?: undefined;
288
+ } | {
289
+ name: string;
290
+ description: string;
291
+ inputSchema: {
292
+ type: "object";
293
+ properties: {
294
+ tool_id: {
295
+ type: string;
296
+ description: string;
297
+ };
298
+ search_id: {
299
+ type: string;
300
+ description: string;
301
+ };
302
+ params_to_tool: {
303
+ type: string;
304
+ description: string;
305
+ };
306
+ session_id: {
307
+ type: string;
308
+ description: string;
309
+ };
310
+ max_response_size: {
311
+ type: string;
312
+ description: string;
313
+ default: number;
314
+ };
315
+ };
316
+ required: string[];
317
+ };
318
+ outputSchema?: undefined;
226
319
  })[];
227
320
  export declare const DEPRECATED_ALIASES: Record<string, string>;
228
321
  /**
229
322
  * Route one MCP tool call to the matching Qveris operation.
230
323
  */
231
- export declare function executeQverisMcpTool(client: QverisClient | undefined, defaultSessionId: string, rawName: string, args: unknown, warn?: (message: string) => void): Promise<CallToolResult>;
324
+ /** Asks the human to approve a charged call; resolve false to cancel it. */
325
+ export type ConfirmCall = (info: {
326
+ toolId: string;
327
+ }) => Promise<boolean>;
328
+ export declare function executeQverisMcpTool(client: QverisClient | undefined, defaultSessionId: string, rawName: string, args: unknown, warn?: (message: string) => void, confirmCall?: ConfirmCall): Promise<CallToolResult>;
329
+ export declare function createQverisServer(client: QverisClient | undefined, defaultSessionId: string): Server;
232
330
  /**
233
331
  * Main entry point for the Qveris MCP Server.
234
332
  *
235
- * Sets up the MCP server with stdio transport, registers the discover,
236
- * inspect, and call handlers, and starts listening for requests.
333
+ * Registers the discover/inspect/call handlers and starts listening. The
334
+ * transport is selected by env/CLI (see {@link resolveTransportConfig}): stdio
335
+ * by default (unchanged for existing Claude Desktop / Cursor configs), or
336
+ * Streamable HTTP for remote deployment.
237
337
  */
238
338
  export declare function main(): Promise<void>;
339
+ export { QverisClient, resolveTransportConfig, startHttpServer };
340
+ export { SessionAuthenticationError, SessionAuthenticationUnavailableError, SessionRateLimitError } from './http.js';
341
+ export type { HttpSessionAuth, RunningHttpServer, TransportConfig } from './http.js';
342
+ export type { ServerCardInfo } from './server-card.js';
239
343
  export declare function isEntrypoint(argvEntry: string | undefined, moduleUrl?: string): boolean;
240
344
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAAuB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAsCpE;;;;;GAKG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0DjC;AAGD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIrD,CAAC;AA2CF;;GAEG;AACH,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,GAC3E,OAAO,CAAC,cAAc,CAAC,CAmNzB;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmE1C;AAcD,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":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAOL,KAAK,cAAc,EACpB,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;AAkBpE,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAC;AAElD,4EAA4E;AAC5E,wBAAgB,uBAAuB,IAAI,cAAc,CAWxD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+DjC;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,CAuOzB;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CA+FrG;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1C;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,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAkB,GAAG,OAAO,CAYhG"}
package/dist/index.js CHANGED
@@ -25,23 +25,40 @@
25
25
  */
26
26
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
27
27
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
28
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
28
+ import { CallToolRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, SUPPORTED_PROTOCOL_VERSIONS, } from '@modelcontextprotocol/sdk/types.js';
29
+ import { resolveTransportConfig, startHttpServer } from './http.js';
30
+ import { buildServerCard } from './server-card.js';
29
31
  import { realpathSync } from 'node:fs';
30
32
  import { pathToFileURL } from 'node:url';
31
33
  import { v4 as uuidv4 } from 'uuid';
32
- import { createClientFromEnv } from './api/client.js';
33
- import { searchToolsSchema, executeSearchTools, } from './tools/search.js';
34
- import { executeToolSchema, executeExecuteTool, } from './tools/execute.js';
35
- import { getToolsByIdsSchema, executeGetToolsByIds, } from './tools/get-by-ids.js';
36
- import { usageHistorySchema, executeUsageHistory, } from './tools/usage-history.js';
37
- import { creditsLedgerSchema, executeCreditsLedger, } from './tools/credits-ledger.js';
34
+ import { createClientFromEnv, QverisClient } from './api/client.js';
35
+ import { searchToolsSchema, executeSearchTools } from './tools/search.js';
36
+ import { executeToolSchema, executeExecuteTool } from './tools/execute.js';
37
+ import { getToolsByIdsSchema, executeGetToolsByIds } from './tools/get-by-ids.js';
38
+ import { usageHistorySchema, executeUsageHistory } from './tools/usage-history.js';
39
+ import { creditsLedgerSchema, executeCreditsLedger } from './tools/credits-ledger.js';
40
+ import { TOOL_OUTPUT_SCHEMAS } from './output-schemas.js';
38
41
  // ============================================================================
39
42
  // Server Configuration
40
43
  // ============================================================================
41
44
  import { createRequire } from 'node:module';
42
45
  const SERVER_NAME = 'qveris';
43
46
  const require = createRequire(import.meta.url);
44
- const { version: SERVER_VERSION } = require('../package.json');
47
+ const pkg = require('../package.json');
48
+ export const SERVER_VERSION = pkg.version;
49
+ /** Discovery metadata (Server Card + Catalog) derived from package.json. */
50
+ export function getQverisServerCardInfo() {
51
+ const repoUrl = pkg.repository?.url?.replace(/^git\+/, '').replace(/\.git$/, '');
52
+ return {
53
+ name: pkg.mcpName ?? 'io.github.QVerisAI/mcp',
54
+ version: SERVER_VERSION,
55
+ description: pkg.description,
56
+ title: 'QVeris',
57
+ websiteUrl: pkg.homepage,
58
+ repository: repoUrl ? { source: 'github', url: repoUrl, subfolder: pkg.repository?.directory } : undefined,
59
+ protocolVersions: SUPPORTED_PROTOCOL_VERSIONS,
60
+ };
61
+ }
45
62
  /**
46
63
  * List the MCP tools exposed by this server.
47
64
  *
@@ -58,6 +75,7 @@ export function listQverisMcpTools() {
58
75
  'Use this to find tools before inspecting or calling them. ' +
59
76
  'Results may include billing_rule metadata for rule-level pricing.',
60
77
  inputSchema: searchToolsSchema,
78
+ outputSchema: TOOL_OUTPUT_SCHEMAS.discover,
61
79
  },
62
80
  {
63
81
  name: 'inspect',
@@ -65,6 +83,7 @@ export function listQverisMcpTools() {
65
83
  'Returns parameters, success rate, latency, examples, and billing_rule when available. ' +
66
84
  'Use tool_ids from a previous discover call.',
67
85
  inputSchema: getToolsByIdsSchema,
86
+ outputSchema: TOOL_OUTPUT_SCHEMAS.inspect,
68
87
  },
69
88
  {
70
89
  name: 'call',
@@ -73,16 +92,19 @@ export function listQverisMcpTools() {
73
92
  'Pass parameters to the tool through params_to_tool. ' +
74
93
  'The response may include pre-settlement billing; use usage_history or credits_ledger for final charge status.',
75
94
  inputSchema: executeToolSchema,
95
+ outputSchema: TOOL_OUTPUT_SCHEMAS.call,
76
96
  },
77
97
  {
78
98
  name: 'usage_history',
79
99
  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.',
80
100
  inputSchema: usageHistorySchema,
101
+ outputSchema: TOOL_OUTPUT_SCHEMAS.usage_history,
81
102
  },
82
103
  {
83
104
  name: 'credits_ledger',
84
105
  description: 'Context-safe final credits ledger query. Defaults to aggregated summary, supports precise search by entry type/direction/credit range, and writes large exports to a local JSONL file instead of returning all rows.',
85
106
  inputSchema: creditsLedgerSchema,
107
+ outputSchema: TOOL_OUTPUT_SCHEMAS.credits_ledger,
86
108
  },
87
109
  // Deprecated aliases (backward compatibility)
88
110
  {
@@ -137,10 +159,7 @@ function inferProviderId(toolId) {
137
159
  function compactObject(input) {
138
160
  return Object.fromEntries(Object.entries(input).filter(([, value]) => value !== undefined));
139
161
  }
140
- /**
141
- * Route one MCP tool call to the matching Qveris operation.
142
- */
143
- export async function executeQverisMcpTool(client, defaultSessionId, rawName, args, warn = (message) => process.stderr.write(message)) {
162
+ export async function executeQverisMcpTool(client, defaultSessionId, rawName, args, warn = (message) => process.stderr.write(message), confirmCall) {
144
163
  // Tool listing works without credentials, but calls need a key. When the
145
164
  // server started without QVERIS_API_KEY the client is undefined; return an
146
165
  // actionable error instead of crashing.
@@ -189,9 +208,10 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
189
208
  content: [
190
209
  {
191
210
  type: 'text',
192
- text: JSON.stringify(result, null, 2),
211
+ text: JSON.stringify(result),
193
212
  },
194
213
  ],
214
+ structuredContent: result,
195
215
  };
196
216
  }
197
217
  if (name === 'inspect') {
@@ -216,9 +236,10 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
216
236
  content: [
217
237
  {
218
238
  type: 'text',
219
- text: JSON.stringify(result, null, 2),
239
+ text: JSON.stringify(result),
220
240
  },
221
241
  ],
242
+ structuredContent: result,
222
243
  };
223
244
  }
224
245
  if (name === 'call') {
@@ -245,14 +266,31 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
245
266
  isError: true,
246
267
  };
247
268
  }
269
+ // Human-in-the-loop billing consent (MCP elicitation), when enabled and
270
+ // the client supports it. Declining cancels the charged call.
271
+ if (confirmCall && !(await confirmCall({ toolId: input.tool_id }))) {
272
+ return {
273
+ content: [
274
+ {
275
+ type: 'text',
276
+ text: JSON.stringify({
277
+ error: 'Call cancelled: the user declined the billing confirmation.',
278
+ tool_id: input.tool_id,
279
+ }),
280
+ },
281
+ ],
282
+ isError: true,
283
+ };
284
+ }
248
285
  const result = await executeExecuteTool(client, input, defaultSessionId);
249
286
  return {
250
287
  content: [
251
288
  {
252
289
  type: 'text',
253
- text: JSON.stringify(result, null, 2),
290
+ text: JSON.stringify(result),
254
291
  },
255
292
  ],
293
+ structuredContent: result,
256
294
  };
257
295
  }
258
296
  if (name === 'usage_history') {
@@ -262,9 +300,10 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
262
300
  content: [
263
301
  {
264
302
  type: 'text',
265
- text: JSON.stringify(result, null, 2),
303
+ text: JSON.stringify(result),
266
304
  },
267
305
  ],
306
+ structuredContent: result,
268
307
  };
269
308
  }
270
309
  if (name === 'credits_ledger') {
@@ -274,9 +313,10 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
274
313
  content: [
275
314
  {
276
315
  type: 'text',
277
- text: JSON.stringify(result, null, 2),
316
+ text: JSON.stringify(result),
278
317
  },
279
318
  ],
319
+ structuredContent: result,
280
320
  };
281
321
  }
282
322
  // Unknown tool.
@@ -317,9 +357,7 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
317
357
  }
318
358
  // Handle other errors (including fetch network errors).
319
359
  const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
320
- const errorCause = error instanceof Error && error.cause instanceof Error
321
- ? error.cause.message
322
- : undefined;
360
+ const errorCause = error instanceof Error && error.cause instanceof Error ? error.cause.message : undefined;
323
361
  return {
324
362
  content: [
325
363
  {
@@ -335,73 +373,151 @@ export async function executeQverisMcpTool(client, defaultSessionId, rawName, ar
335
373
  }
336
374
  }
337
375
  /**
338
- * Main entry point for the Qveris MCP Server.
376
+ * Build a fully-wired Qveris MCP {@link Server} instance.
339
377
  *
340
- * Sets up the MCP server with stdio transport, registers the discover,
341
- * inspect, and call handlers, and starts listening for requests.
378
+ * Registers the list-tools and call-tool handlers against the given client and
379
+ * default session id. Kept separate from transport startup so both the stdio
380
+ * and Streamable HTTP paths (and tests) can construct a server the same way; in
381
+ * HTTP mode one server is created per client session.
342
382
  */
343
- export async function main() {
344
- // Initialize the API client when credentials are available. The server still
345
- // starts without QVERIS_API_KEY so MCP clients and registry scanners can list
346
- // tools before credentials are configured; tool calls then return an
347
- // actionable error until a key is set.
348
- let client;
349
- try {
350
- client = createClientFromEnv();
351
- }
352
- catch (error) {
353
- console.error(error instanceof Error ? error.message : 'Failed to initialize Qveris client');
354
- console.error('Starting without credentials: tool listing is available; set QVERIS_API_KEY to enable tool calls.');
355
- }
356
- // Generate a default session ID for this server instance
357
- const defaultSessionId = uuidv4();
358
- // Create MCP server
383
+ const CARD_RESOURCE_URI = 'qveris://server-card';
384
+ const CAPABILITY_URI_PREFIX = 'qveris://capability/';
385
+ function confirmCallsEnabled(env = process.env) {
386
+ const v = env.QVERIS_MCP_CONFIRM_CALLS?.trim().toLowerCase();
387
+ return v !== undefined && ['1', 'true', 'yes', 'on'].includes(v);
388
+ }
389
+ export function createQverisServer(client, defaultSessionId) {
359
390
  const server = new Server({
360
391
  name: SERVER_NAME,
361
392
  version: SERVER_VERSION,
362
393
  }, {
363
394
  capabilities: {
364
395
  tools: {},
396
+ resources: {},
365
397
  },
366
398
  });
367
- // =========================================================================
368
- // Tool Handlers
369
- // =========================================================================
370
- /**
371
- * Lists available tools.
372
- * Returns the discover, inspect, and call definitions (plus deprecated aliases).
373
- */
399
+ // Lists available tools (discover/inspect/call plus deprecated aliases).
374
400
  server.setRequestHandler(ListToolsRequestSchema, async () => {
375
401
  return {
376
402
  tools: listQverisMcpTools(),
377
403
  };
378
404
  });
379
- /**
380
- * Handles tool execution requests.
381
- * Routes to the appropriate handler based on tool name.
382
- * Deprecated aliases emit a warning to stderr.
383
- */
405
+ // Human-in-the-loop billing consent for charged calls: only when explicitly
406
+ // enabled (headless agents stay unaffected) AND the client supports
407
+ // elicitation. Declining or cancelling the form cancels the call.
408
+ const confirmCall = confirmCallsEnabled()
409
+ ? async ({ toolId }) => {
410
+ if (!server.getClientCapabilities()?.elicitation)
411
+ return true;
412
+ const answer = await server.elicitInput({
413
+ message: `QVeris is about to call "${toolId}". This may consume credits (pre-settlement billing is returned with the result). Proceed?`,
414
+ requestedSchema: {
415
+ type: 'object',
416
+ properties: {
417
+ confirm: { type: 'boolean', title: 'Proceed with this charged call?' },
418
+ },
419
+ required: ['confirm'],
420
+ },
421
+ });
422
+ return answer.action === 'accept' && answer.content?.confirm === true;
423
+ }
424
+ : undefined;
425
+ // Routes tool execution to the appropriate handler; deprecated aliases warn.
384
426
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
385
427
  const { name, arguments: args } = request.params;
386
- return executeQverisMcpTool(client, defaultSessionId, name, args);
428
+ return executeQverisMcpTool(client, defaultSessionId, name, args, undefined, confirmCall);
429
+ });
430
+ // --- Resources: the Server Card plus per-capability metadata docs ---------
431
+ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
432
+ resources: [
433
+ {
434
+ uri: CARD_RESOURCE_URI,
435
+ name: 'QVeris Server Card',
436
+ description: 'Identity and connection metadata for this MCP server (SEP-2127).',
437
+ mimeType: 'application/mcp-server-card+json',
438
+ },
439
+ ],
440
+ }));
441
+ server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => ({
442
+ resourceTemplates: [
443
+ {
444
+ uriTemplate: `${CAPABILITY_URI_PREFIX}{tool_id}`,
445
+ name: 'QVeris capability metadata',
446
+ description: 'Full metadata for one capability (parameters, examples, stats, billing) — the same payload the inspect tool returns.',
447
+ mimeType: 'application/json',
448
+ },
449
+ ],
450
+ }));
451
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
452
+ const uri = request.params.uri;
453
+ if (uri === CARD_RESOURCE_URI) {
454
+ const card = buildServerCard(getQverisServerCardInfo());
455
+ return {
456
+ contents: [{ uri, mimeType: 'application/mcp-server-card+json', text: JSON.stringify(card) }],
457
+ };
458
+ }
459
+ if (uri.startsWith(CAPABILITY_URI_PREFIX)) {
460
+ const toolId = decodeURIComponent(uri.slice(CAPABILITY_URI_PREFIX.length));
461
+ if (!toolId)
462
+ throw new Error('Missing tool_id in capability URI');
463
+ if (!client) {
464
+ throw new Error('QVERIS_API_KEY is not set; capability metadata requires an API key.');
465
+ }
466
+ const detail = await client.getToolsByIds({ tool_ids: [toolId] });
467
+ return {
468
+ contents: [{ uri, mimeType: 'application/json', text: JSON.stringify(detail) }],
469
+ };
470
+ }
471
+ throw new Error(`Unknown resource: ${uri}`);
387
472
  });
388
- // =========================================================================
389
- // Start Server
390
- // =========================================================================
473
+ return server;
474
+ }
475
+ /**
476
+ * Main entry point for the Qveris MCP Server.
477
+ *
478
+ * Registers the discover/inspect/call handlers and starts listening. The
479
+ * transport is selected by env/CLI (see {@link resolveTransportConfig}): stdio
480
+ * by default (unchanged for existing Claude Desktop / Cursor configs), or
481
+ * Streamable HTTP for remote deployment.
482
+ */
483
+ export async function main() {
484
+ // Initialize the API client when credentials are available. The server still
485
+ // starts without QVERIS_API_KEY so MCP clients and registry scanners can list
486
+ // tools before credentials are configured; tool calls then return an
487
+ // actionable error until a key is set.
488
+ let client;
489
+ try {
490
+ client = createClientFromEnv();
491
+ }
492
+ catch (error) {
493
+ console.error(error instanceof Error ? error.message : 'Failed to initialize Qveris client');
494
+ console.error('Starting without credentials: tool listing is available; set QVERIS_API_KEY to enable tool calls.');
495
+ }
496
+ const transportConfig = resolveTransportConfig(process.env, process.argv.slice(2));
497
+ // Streamable HTTP: one Qveris server per MCP session, keyed by Mcp-Session-Id.
498
+ if (transportConfig.mode === 'http') {
499
+ await startHttpServer(transportConfig, (sessionId) => createQverisServer(client, sessionId), getQverisServerCardInfo());
500
+ return;
501
+ }
502
+ // Default: stdio transport with a single session for this process.
503
+ const defaultSessionId = uuidv4();
504
+ const server = createQverisServer(client, defaultSessionId);
391
505
  const transport = new StdioServerTransport();
392
506
  await server.connect(transport);
393
507
  // Log startup to stderr (stdout is reserved for MCP protocol)
394
- console.error(`Qveris MCP Server v${SERVER_VERSION} started`);
508
+ console.error(`Qveris MCP Server v${SERVER_VERSION} started (stdio)`);
395
509
  console.error(`Session ID: ${defaultSessionId}`);
396
510
  }
511
+ // Public embedding surface for independently operated HTTP services. The
512
+ // toolkit owns protocol/session mechanics; embedders own credential policy,
513
+ // client construction, deployment, and operations.
514
+ export { QverisClient, resolveTransportConfig, startHttpServer };
515
+ export { SessionAuthenticationError, SessionAuthenticationUnavailableError, SessionRateLimitError } from './http.js';
397
516
  /**
398
517
  * Type guard for API errors.
399
518
  */
400
519
  function isApiError(error) {
401
- return (typeof error === 'object' &&
402
- error !== null &&
403
- 'status' in error &&
404
- 'message' in error);
520
+ return typeof error === 'object' && error !== null && 'status' in error && 'message' in error;
405
521
  }
406
522
  export function isEntrypoint(argvEntry, moduleUrl = import.meta.url) {
407
523
  if (!argvEntry)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Output schemas for the QVeris MCP tools (MCP spec 2025-06-18).
3
+ *
4
+ * Declaring `outputSchema` lets clients and models consume `structuredContent`
5
+ * as typed data instead of re-parsing a JSON string out of the text content.
6
+ * The schemas are deliberately LOOSE (`additionalProperties: true`, only the
7
+ * stable key fields pinned) because the API evolves additively — a new server
8
+ * field must never make client-side validation reject a result.
9
+ */
10
+ /** outputSchema per canonical tool name (deprecated aliases share them). */
11
+ export declare const TOOL_OUTPUT_SCHEMAS: Record<string, object>;
12
+ //# sourceMappingURL=output-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgDH,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMtD,CAAC"}