Releases: QVerisAI/qveris-agent-toolkit
Release list
QVeris MCP Server v0.9.0
Install
npx -y @qverisai/mcp@0.9.0Highlights
QVeris MCP Server v0.9.0
Add the embedding API for independently operated Streamable HTTP services. Add structured tool output, resources, and elicitation billing consent. Serialize tool and resource payloads as compact JSON.
See README for configuration.
What's Changed
- docs: releasing lessons from the first release wave by @linfangw in #151
- ci: wire plugin tests, gate PRs on full suites, npm provenance (#152 #153 #154) by @linfangw in #165
- docs: governance pack — SECURITY, CONTRIBUTING, templates, dependabot, CODEOWNERS (#155) by @linfangw in #166
- test: shared conformance suite for the four framework adapters (#157) by @linfangw in #167
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #169
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #171
- chore(deps): bump actions/checkout from 4 to 7 by @dependabot[bot] in #170
- ci: tune dependabot (group + ignore majors/pinned tools); gate manifest changes by @linfangw in #185
- chore(deps): bump @sinclair/typebox from 0.34.48 to 0.34.50 in /packages/openclaw-qveris-plugin in the minor-and-patch group by @dependabot[bot] in #188
- chore(deps): bump the minor-and-patch group in /packages/mcp with 3 updates by @dependabot[bot] in #189
- chore(deps): bump the actions group with 3 updates by @dependabot[bot] in #190
- chore(deps-dev): bump the minor-and-patch group in /packages/js-sdk with 2 updates by @dependabot[bot] in #191
- chore: lint/format tooling across all five packages (#156) by @linfangw in #192
- docs: sync API docs from website by @linfangw in #193
- ci: coverage thresholds + badges across all five packages (#160) by @linfangw in #195
- feat(mcp): output schemas, elicitation billing consent, catalog resources (#158) by @linfangw in #196
- docs(examples): runnable examples for js-sdk, MCP, CLI + runnable recipes (#159) by @linfangw in #197
- chore(repo): monorepo task runner, engines alignment, editor/EOL config (#161) by @linfangw in #198
- docs: js-sdk API reference, troubleshooting/FAQ, locale drift check (#162) by @linfangw in #199
- feat(mcp): add per-session HTTP server factory by @linfangw in #201
- chore(release): MCP 0.9.0 by @linfangw in #203
New Contributors
- @dependabot[bot] made their first contribution in #169
Full Changelog: cli-v0.7.0...mcp-v0.9.0
QVeris Python SDK v0.3.0
Install
pip install qveris==0.3.0Highlights
Added
- Framework adapters as optional extras: LangChain (
qveris[langchain]), OpenAI Agents SDK (qveris[openai-agents]), and CrewAI (qveris[crewai]) — each exposes the discover/inspect/call workflow as native tools for that framework. ([#132], [#133], [#135]) - Per-session credit budget guard for the agent:
Agent(budget_credits=...). ([#130]) - Optional OpenTelemetry tracing (
qveris[otel]): one span per discover/inspect/call withqveris.*attributes (tool_id, search_id, execution_id, elapsed_time_ms, credits); dependency-free no-op when opentelemetry is absent, and tracer faults never break a call. ([#141]) - Rate-limited (
429) and transient (503) responses are retried automatically: honorsRetry-After(measured against the responseDateper RFC 9110), otherwise exponential backoff with jitter, bounded byQverisConfig.max_retries/QVERIS_MAX_RETRIES(default 3;0disables);client.rate_limit_retriessurfaces backoff as pressure. ([#142]) ToolInfodeclarescapabilities,expected_cost,why_recommended, and provider fields; explainable-routing example. ([#102], [#128])
Fixed
QverisConfig(api_key=...)explicit constructor values override environment variables again under pydantic 2.11+/2.12, without exposing the genericAPI_KEY/BASE_URLenv names. ([#138])
Removed
provider_logo_urlfrom type declarations (dropped from the public spec). ([#105])
See README for usage.
What's Changed
- docs(js-sdk): add SDK doc pages + type-drift guard (#106 follow-ups) by @linfangw in #127
- feat(recipes): add explainable-routing recipe and example (#115) by @linfangw in #128
- fix(recipes): drop no-op --summary flag from usage/ledger examples by @linfangw in #129
- feat(python-sdk): per-session budget guard for the agent (#111) by @linfangw in #130
- feat(cli): enhanced doctor/init diagnostics with actionable hints (#110) by @linfangw in #131
- feat(python-sdk): LangChain framework adapter (#109) by @linfangw in #132
- feat(python-sdk): OpenAI Agents SDK framework adapter (#109) by @linfangw in #133
- feat(js-sdk): Vercel AI SDK framework adapter (#109) by @linfangw in #134
- feat(python-sdk): CrewAI framework adapter (#109) by @linfangw in #135
- ci: add codex auto review workflow by @ax2 in #137
- fix(python-sdk): explicit QverisConfig args override env under pydantic 2.12 (#136) by @linfangw in #138
- feat(mcp): Streamable HTTP transport for remote MCP (#107) by @linfangw in #139
- feat(mcp): Server Card + Catalog discovery documents (#107) by @linfangw in #140
- feat(python-sdk): optional OpenTelemetry tracing for discover/inspect/call (#112) by @linfangw in #141
- feat(python-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #142
- feat(js-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #143
- feat(cli): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #144
- feat(mcp): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #145
- ci: add windows-latest to test matrices (#113) by @linfangw in #146
- ci: add windows-latest to the js-sdk publish test matrix (#113) by @linfangw in #147
- docs: per-package CHANGELOGs + release process with CHANGELOG gate (#116) by @linfangw in #148
- docs(skills): add a quick-first-run section to the CLI Skill (#123) by @linfangw in #149
- chore(release): cli 0.7.0 · mcp 0.8.0 · js-sdk 0.3.0 · python-sdk 0.3.0 by @linfangw in #150
Full Changelog: mcp-v0.7.5...python-sdk-v0.3.0
QVeris MCP Server v0.8.0
Install
npx -y @qverisai/mcp@0.8.0Highlights
Added
- 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]) - 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]) - Rate-limited (
429) and transient (503) API responses are retried automatically: honorsRetry-After, otherwise exponential backoff with jitter, bounded byconfig.maxRetries/QVERIS_MAX_RETRIES(default 3;0disables);rateLimitRetryCountexposes the backoff. ([#145])
Changed
- Requires Node.js >= 18.2 (was >= 18.0): prompt HTTP-server shutdown uses
closeAllConnections, added in 18.2. ([#139])
See README for configuration.
What's Changed
- docs(js-sdk): add SDK doc pages + type-drift guard (#106 follow-ups) by @linfangw in #127
- feat(recipes): add explainable-routing recipe and example (#115) by @linfangw in #128
- fix(recipes): drop no-op --summary flag from usage/ledger examples by @linfangw in #129
- feat(python-sdk): per-session budget guard for the agent (#111) by @linfangw in #130
- feat(cli): enhanced doctor/init diagnostics with actionable hints (#110) by @linfangw in #131
- feat(python-sdk): LangChain framework adapter (#109) by @linfangw in #132
- feat(python-sdk): OpenAI Agents SDK framework adapter (#109) by @linfangw in #133
- feat(js-sdk): Vercel AI SDK framework adapter (#109) by @linfangw in #134
- feat(python-sdk): CrewAI framework adapter (#109) by @linfangw in #135
- ci: add codex auto review workflow by @ax2 in #137
- fix(python-sdk): explicit QverisConfig args override env under pydantic 2.12 (#136) by @linfangw in #138
- feat(mcp): Streamable HTTP transport for remote MCP (#107) by @linfangw in #139
- feat(mcp): Server Card + Catalog discovery documents (#107) by @linfangw in #140
- feat(python-sdk): optional OpenTelemetry tracing for discover/inspect/call (#112) by @linfangw in #141
- feat(python-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #142
- feat(js-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #143
- feat(cli): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #144
- feat(mcp): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #145
- ci: add windows-latest to test matrices (#113) by @linfangw in #146
- ci: add windows-latest to the js-sdk publish test matrix (#113) by @linfangw in #147
- docs: per-package CHANGELOGs + release process with CHANGELOG gate (#116) by @linfangw in #148
- docs(skills): add a quick-first-run section to the CLI Skill (#123) by @linfangw in #149
- chore(release): cli 0.7.0 · mcp 0.8.0 · js-sdk 0.3.0 · python-sdk 0.3.0 by @linfangw in #150
Full Changelog: mcp-v0.7.5...mcp-v0.8.0
QVeris JS SDK v0.3.0
Install
npm install @qverisai/sdk@0.3.0Highlights
Added
- Vercel AI SDK adapter:
getQverisTools(qveris)from@qverisai/sdk/aireturnsqveris_discover/qveris_inspect/qveris_calltools forgenerateText/streamText(aiandzodas optional peer dependencies). ([#134]) - Rate-limited (
429) and transient (503) responses are retried automatically: honorsRetry-After, otherwise exponential backoff with jitter, bounded by themaxRetriesconfig option (default 3;0disables);rateLimitRetryCountexposes the backoff. ([#143])
See README for usage.
What's Changed
- docs(js-sdk): add SDK doc pages + type-drift guard (#106 follow-ups) by @linfangw in #127
- feat(recipes): add explainable-routing recipe and example (#115) by @linfangw in #128
- fix(recipes): drop no-op --summary flag from usage/ledger examples by @linfangw in #129
- feat(python-sdk): per-session budget guard for the agent (#111) by @linfangw in #130
- feat(cli): enhanced doctor/init diagnostics with actionable hints (#110) by @linfangw in #131
- feat(python-sdk): LangChain framework adapter (#109) by @linfangw in #132
- feat(python-sdk): OpenAI Agents SDK framework adapter (#109) by @linfangw in #133
- feat(js-sdk): Vercel AI SDK framework adapter (#109) by @linfangw in #134
- feat(python-sdk): CrewAI framework adapter (#109) by @linfangw in #135
- ci: add codex auto review workflow by @ax2 in #137
- fix(python-sdk): explicit QverisConfig args override env under pydantic 2.12 (#136) by @linfangw in #138
- feat(mcp): Streamable HTTP transport for remote MCP (#107) by @linfangw in #139
- feat(mcp): Server Card + Catalog discovery documents (#107) by @linfangw in #140
- feat(python-sdk): optional OpenTelemetry tracing for discover/inspect/call (#112) by @linfangw in #141
- feat(python-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #142
- feat(js-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #143
- feat(cli): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #144
- feat(mcp): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #145
- ci: add windows-latest to test matrices (#113) by @linfangw in #146
- ci: add windows-latest to the js-sdk publish test matrix (#113) by @linfangw in #147
- docs: per-package CHANGELOGs + release process with CHANGELOG gate (#116) by @linfangw in #148
- docs(skills): add a quick-first-run section to the CLI Skill (#123) by @linfangw in #149
- chore(release): cli 0.7.0 · mcp 0.8.0 · js-sdk 0.3.0 · python-sdk 0.3.0 by @linfangw in #150
Full Changelog: mcp-v0.7.5...js-sdk-v0.3.0
QVeris CLI v0.7.0
Install
# One-liner
curl -fsSL https://qveris.ai/cli/install | bash
# Or via npm
npm install -g @qverisai/cli@0.7.0Highlights
Added
- Rate-limited (
429) and transient (503) responses are retried automatically: the CLI honorsRetry-After, otherwise backs off exponentially with jitter, bounded byQVERIS_MAX_RETRIES(default 3;0disables). ([#144]) qveris doctor/qveris initdiagnostics: preflight checks (Node version, key, region, connectivity) with actionable hints and exact next commands. ([#131])- Discover/inspect render
why_recommended, standardized capability descriptors,expected_cost, and provider fields from the API. ([#102])
See README for usage.
What's Changed
- docs(js-sdk): add SDK doc pages + type-drift guard (#106 follow-ups) by @linfangw in #127
- feat(recipes): add explainable-routing recipe and example (#115) by @linfangw in #128
- fix(recipes): drop no-op --summary flag from usage/ledger examples by @linfangw in #129
- feat(python-sdk): per-session budget guard for the agent (#111) by @linfangw in #130
- feat(cli): enhanced doctor/init diagnostics with actionable hints (#110) by @linfangw in #131
- feat(python-sdk): LangChain framework adapter (#109) by @linfangw in #132
- feat(python-sdk): OpenAI Agents SDK framework adapter (#109) by @linfangw in #133
- feat(js-sdk): Vercel AI SDK framework adapter (#109) by @linfangw in #134
- feat(python-sdk): CrewAI framework adapter (#109) by @linfangw in #135
- ci: add codex auto review workflow by @ax2 in #137
- fix(python-sdk): explicit QverisConfig args override env under pydantic 2.12 (#136) by @linfangw in #138
- feat(mcp): Streamable HTTP transport for remote MCP (#107) by @linfangw in #139
- feat(mcp): Server Card + Catalog discovery documents (#107) by @linfangw in #140
- feat(python-sdk): optional OpenTelemetry tracing for discover/inspect/call (#112) by @linfangw in #141
- feat(python-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #142
- feat(js-sdk): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #143
- feat(cli): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #144
- feat(mcp): honor Retry-After with backoff on 429/503 (#120) by @linfangw in #145
- ci: add windows-latest to test matrices (#113) by @linfangw in #146
- ci: add windows-latest to the js-sdk publish test matrix (#113) by @linfangw in #147
- docs: per-package CHANGELOGs + release process with CHANGELOG gate (#116) by @linfangw in #148
- docs(skills): add a quick-first-run section to the CLI Skill (#123) by @linfangw in #149
- chore(release): cli 0.7.0 · mcp 0.8.0 · js-sdk 0.3.0 · python-sdk 0.3.0 by @linfangw in #150
Full Changelog: mcp-v0.7.5...cli-v0.7.0
QVeris MCP Server v0.7.5
Install
npx -y @qverisai/mcp@0.7.5Highlights
- The server now 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.
- Fixes tool listing failing at startup when no key was present.
See README for configuration.
What's Changed
- chore: add root LICENSE file by @linfangw in #124
- chore: update copyright year to 2026 in LICENSE files by @linfangw in #125
- fix(mcp): start without QVERIS_API_KEY so clients can list tools; release 0.7.5 by @linfangw in #126
Full Changelog: mcp-v0.7.4...mcp-v0.7.5
QVeris MCP Server v0.7.4
Install
npx -y @qverisai/mcp@0.7.4Highlights
- Corrects mcpName casing (io.github.QVerisAI/mcp) required by the official MCP Registry ownership validation.
See README for configuration.
What's Changed
Full Changelog: js-sdk-v0.2.0...mcp-v0.7.4
QVeris Python SDK v0.2.1
Install
pip install qveris==0.2.1Highlights
- Fixes a
ValidationErrorcrash indiscover()andinspect()when the API returns object-shaped categories. - Adds the
ToolCategorymodel;ToolInfo.categoriesnow accepts both category objects and legacy plain strings.
See README for usage.
What's Changed
- fix(mcp): resolve symlink entrypoint by @ax2 in #91
- docs: sync API docs from website by @linfangw in #96
- chore(mcp): release 0.7.1 by @ax2 in #92
- fix: handle object-shaped tool categories in discover/inspect results by @linfangw in #97
- chore(release): cli 0.6.1, mcp 0.7.2, python-sdk 0.2.1 by @linfangw in #100
Full Changelog: qveris-plugin-v2026.6.4...python-sdk-v0.2.1
QVeris MCP Server v0.7.3
Install
npx -y @qverisai/mcp@0.7.3Highlights
- Declares capabilities, expected_cost, why_recommended and provider_id on ToolInfo, matching current Discover/Inspect responses.
- Adds mcpName and MCP registry metadata (server.json, Smithery, Glama) for directory listings.
- Fixes the entrypoint test on macOS checkouts.
See README for configuration.
What's Changed
- ci: compose release notes from annotated tag message by @linfangw in #101
- feat: surface why_recommended and declare capability/cost/provider fields by @linfangw in #102
- test(mcp): fix entrypoint symlink test on macOS by @linfangw in #103
- feat(openclaw-plugin): project why_recommended and expected_cost to the model by @linfangw in #104
- chore: drop provider_logo_url from type declarations and spec by @linfangw in #105
- feat(mcp): add registry metadata for MCP directory listings by @linfangw in #117
- ci(cli): gate npm publish on the CLI test suite by @linfangw in #118
- feat(js-sdk): add @qverisai/sdk TypeScript client by @linfangw in #119
- chore(release): mcp 0.7.3, js-sdk 0.2.0 by @linfangw in #121
Full Changelog: cli-v0.6.1...mcp-v0.7.3
QVeris MCP Server v0.7.2
Install
npx -y @qverisai/mcp@0.7.2Highlights
- Updates
ToolInfo.categoriestype declarations toArray<string | ToolCategory>, matching the current API responses that return category objects ({slug, name, description}). - Documents the
categoriesfield in the OpenAPI contract and regenerated types. - No runtime behavior change: tool results were already passed through as raw JSON.
See README for configuration.
What's Changed
- fix(mcp): resolve symlink entrypoint by @ax2 in #91
- docs: sync API docs from website by @linfangw in #96
- chore(mcp): release 0.7.1 by @ax2 in #92
- fix: handle object-shaped tool categories in discover/inspect results by @linfangw in #97
- chore(release): cli 0.6.1, mcp 0.7.2, python-sdk 0.2.1 by @linfangw in #100
Full Changelog: qveris-plugin-v2026.6.4...mcp-v0.7.2