@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/CHANGELOG.md ADDED
@@ -0,0 +1,145 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@qverisai/mcp` are documented here.
4
+
5
+ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions follow [Semantic Versioning](https://semver.org/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.9.0] - 2026-07-13
10
+
11
+ ### Added
12
+
13
+ - An embedding API for independently operated Streamable HTTP services: asynchronous per-session server factories can require a caller bearer, receive it only during session construction, and rely on fingerprint binding to reject later credential changes. Credential validation and client policy stay outside the toolkit. ([#201])
14
+ - Fuller MCP spec surface ([#158]):
15
+ - **Output schemas + structured content** — every tool declares `outputSchema` (loose, additive-friendly) and returns `structuredContent` alongside the JSON text, so clients consume typed results instead of re-parsing strings.
16
+ - **Elicitation billing consent** — with `QVERIS_MCP_CONFIRM_CALLS=true` and an elicitation-capable client, a charged `call` asks the user to confirm first; declining cancels the call before any credits are spent. Off by default (headless agents unaffected); clients without elicitation proceed as before.
17
+ - **Resources** — `qveris://server-card` (SEP-2127 card, also without a remote in stdio mode) and the `qveris://capability/{tool_id}` template serving full capability metadata, so users can browse/attach capability docs without a tool call.
18
+
19
+ ### Changed
20
+
21
+ - Tool results and resource reads serialize as compact JSON instead of pretty-printed — indentation was ~35% of a `qveris_discover` payload in tokens, with no information loss. Matches the HTTP discovery endpoints, which were already compact. ([#120])
22
+
23
+ ## [0.8.0] - 2026-07-09
24
+
25
+ ### Added
26
+
27
+ - Streamable HTTP transport for remote MCP alongside the stdio default: per-session servers keyed by `Mcp-Session-Id`, optional inbound bearer auth (fail-closed on non-loopback binds), DNS-rebinding protection, request-body cap, and idle-session eviction. ([#139])
28
+ - Server Card (`GET {path}/server-card`) and MCP Catalog (`GET /.well-known/mcp/catalog.json`) discovery documents, so registries and crawlers can learn about the server without connecting. ([#140])
29
+ - Rate-limited (`429`) and transient (`503`) API responses are retried automatically: honors `Retry-After`, otherwise exponential backoff with jitter, bounded by `config.maxRetries` / `QVERIS_MAX_RETRIES` (default 3; `0` disables); `rateLimitRetryCount` exposes the backoff. ([#145])
30
+
31
+ ### Changed
32
+
33
+ - Requires Node.js >= 18.2 (was >= 18.0): prompt HTTP-server shutdown uses `closeAllConnections`, added in 18.2. ([#139])
34
+
35
+ ## [0.7.5] - 2026-07-07
36
+
37
+ ### Fixed
38
+
39
+ - The server starts without `QVERIS_API_KEY`: MCP clients and registry scanners can list tools before credentials are configured; tool calls return an actionable error until a key is set. ([#126])
40
+
41
+ ## [0.7.4] - 2026-07-07
42
+
43
+ ### Fixed
44
+
45
+ - `mcpName` casing (`io.github.QVerisAI/mcp`) required by the official MCP Registry ownership validation. ([#122])
46
+
47
+ ## [0.7.3] - 2026-07-06
48
+
49
+ ### Added
50
+
51
+ - `ToolInfo` declares `capabilities`, `expected_cost`, `why_recommended`, and `provider_id`, matching current Discover/Inspect responses. ([#102])
52
+ - `mcpName` and MCP registry metadata (`server.json`, Smithery, Glama) for directory listings. ([#117])
53
+
54
+ ### Removed
55
+
56
+ - `provider_logo_url` from type declarations (dropped from the public spec). ([#105])
57
+
58
+ ## [0.7.2] - 2026-07-06
59
+
60
+ ### Fixed
61
+
62
+ - Accept object-shaped tool categories in discover/inspect results (legacy string tags still supported). ([#97])
63
+ - Hardened MCP probe and call params/observability paths. ([#85])
64
+
65
+ ## [0.7.1] - 2026-06-13
66
+
67
+ ### Fixed
68
+
69
+ - Hardened process-entrypoint detection, including npm bin symlinks.
70
+
71
+ ## [0.7.0] - 2026-05-21
72
+
73
+ ### Added
74
+
75
+ - Generated OpenAPI contract types with drift CI. ([#48])
76
+ - Canonical qveris tool names standardized across surfaces. ([#31])
77
+
78
+ ## [0.6.0] - 2026-05-06
79
+
80
+ ### Added
81
+
82
+ - Context-safe `usage_history` and `credits_ledger` audit tools. ([#18])
83
+
84
+ ## [0.5.0] - 2026-04-09
85
+
86
+ ### Changed
87
+
88
+ - Tools renamed to `discover` / `inspect` / `call`; the previous names remain as deprecated aliases. ([#14])
89
+ - Multi-region (global/China) support improvements. ([#13])
90
+
91
+ ## [0.4.0] - 2026-04-04
92
+
93
+ ### Added
94
+
95
+ - China region (`qveris.cn`) support. ([#9])
96
+
97
+ ### Changed
98
+
99
+ - Monorepo restructure. ([#8])
100
+
101
+ ## [0.3.0] / [0.2.0] - 2026-04-04
102
+
103
+ - Version bumps / republish; no functional changes.
104
+
105
+ ## [0.1.2] - 2026-04-04
106
+
107
+ ### Fixed
108
+
109
+ - Handle empty/non-JSON success responses gracefully; `params_to_tool` documented as an object.
110
+
111
+ [Unreleased]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.9.0...HEAD
112
+ [0.9.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.8.0...mcp-v0.9.0
113
+ [0.8.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.5...mcp-v0.8.0
114
+ [0.7.5]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.4...mcp-v0.7.5
115
+ [0.7.4]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.3...mcp-v0.7.4
116
+ [0.7.3]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.2...mcp-v0.7.3
117
+ [0.7.2]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.1...mcp-v0.7.2
118
+ [0.7.1]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.7.0...mcp-v0.7.1
119
+ [0.7.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.6.0...mcp-v0.7.0
120
+ [0.6.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.5.0...mcp-v0.6.0
121
+ [0.5.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.4.0...mcp-v0.5.0
122
+ [0.4.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.3.0...mcp-v0.4.0
123
+ [0.3.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.2.0...mcp-v0.3.0
124
+ [0.2.0]: https://github.com/QVerisAI/qveris-agent-toolkit/compare/mcp-v0.1.2...mcp-v0.2.0
125
+ [0.1.2]: https://github.com/QVerisAI/qveris-agent-toolkit/releases/tag/mcp-v0.1.2
126
+ [#201]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/201
127
+ [#158]: https://github.com/QVerisAI/qveris-agent-toolkit/issues/158
128
+ [#145]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/145
129
+ [#120]: https://github.com/QVerisAI/qveris-agent-toolkit/issues/120
130
+ [#140]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/140
131
+ [#139]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/139
132
+ [#126]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/126
133
+ [#122]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/122
134
+ [#117]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/117
135
+ [#105]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/105
136
+ [#102]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/102
137
+ [#97]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/97
138
+ [#85]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/85
139
+ [#48]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/48
140
+ [#31]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/31
141
+ [#18]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/18
142
+ [#14]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/14
143
+ [#13]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/13
144
+ [#9]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/9
145
+ [#8]: https://github.com/QVerisAI/qveris-agent-toolkit/pull/8