Skip to content

Conversation

@stainless-app
Copy link
Contributor

@stainless-app stainless-app bot commented Aug 7, 2025

Automated Release PR

0.10.1 (2026-01-09)

Full Changelog: v0.10.0...v0.10.1

Features

  • mcp: add code execution tool (e4a56de)
  • mcp: add docs search tool (503a867)
  • mcp: add option for including docs tools (d9cdb55)
  • mcp: add option to infer mcp client (2f09f50)
  • mcp: add unix socket option for remote MCP (b493336)
  • mcp: allow setting logging level (1060cb2)
  • mcp: enable experimental docs search tool (fb2bd25)
  • mcp: expose client options in streamableHTTPApp (5d124ad)
  • mcp: parse query string as mcp client options in mcp server (2dcb4c5)

Bug Fixes

  • ci: set permissions for DXT publish action (870bf2a)
  • coerce nullable values to undefined (d58c1b5)
  • mcp: fix cli argument parsing logic (25cd5a1)
  • mcp: fix query options parsing (9061ebb)
  • mcp: fix uploading dxt release assets (fe12009)
  • mcp: generate additionalProperties=true for map schemas to avoid validation issues (5157d0b)
  • mcp: resolve a linting issue in server code (b65f72a)

Performance Improvements

Chores

  • add package to package.json (c6d0757)
  • client: qualify global Blob (ea0fb66)
  • codegen: internal codegen update (30173f4)
  • deps: update dependency @types/node to v20.17.58 (ed33899)
  • do not install brew dependencies in ./scripts/bootstrap by default (3e44c53)
  • internal: codegen related update (4720b43)
  • internal: codegen related update (11f6a8b)
  • internal: codegen related update (e9e71a4)
  • internal: codegen related update (a41f131)
  • internal: codegen related update (f618315)
  • internal: codegen related update (7c95935)
  • internal: codegen related update (e9ccec8)
  • internal: codegen related update (883bc09)
  • internal: codegen related update (3fbff20)
  • internal: codegen related update (b2e7993)
  • internal: codegen related update (8be8dad)
  • internal: codegen related update (17d1aa9)
  • internal: codegen related update (c1801b1)
  • internal: codegen related update (b922cb1)
  • internal: codegen related update (a6671b0)
  • internal: codegen related update (e01475e)
  • internal: codegen related update (ebb8f56)
  • internal: codegen related update (d87e06e)
  • internal: codegen related update (fa98e83)
  • internal: codegen related update (2dae0ec)
  • internal: codegen related update (2e8542d)
  • internal: codegen related update (d7079fc)
  • internal: codegen related update (2edb66b)
  • internal: codegen related update (18aab1c)
  • internal: codegen related update (2891572)
  • internal: codegen related update (72daa3b)
  • internal: codegen related update (e889bae)
  • internal: codegen related update (1d9f76a)
  • internal: codegen related update (b2acf6d)
  • internal: codegen related update (ec618c8)
  • internal: codegen related update (d47e729)
  • internal: fix incremental formatting in some cases (33c0f66)
  • internal: formatting change (354c449)
  • internal: gitignore .mcpb files (3d77d01)
  • internal: ignore .eslintcache (f91396e)
  • internal: make mcp-server publishing public by defaut (f6a75c1)
  • internal: move publish config (cee091a)
  • internal: refactor array check (b454b5a)
  • internal: remove .eslintcache (9ad363b)
  • internal: remove deprecated compilerOptions.baseUrl from tsconfig.json (f4f38c1)
  • internal: update comment in script (ee90f42)
  • internal: update global Error reference (eb327c9)
  • jsdoc: fix @link annotations to refer only to parts of the package‘s public interface (601fed3)
  • mcp: add cors to oauth metadata route (00832b2)
  • mcp: allow pointing docs_search tool at other URLs (8ee83d5)
  • mcp: document remote server in README.md (3cb514a)
  • mcp: minor cleanup of types and package.json (bdc670f)
  • mcp: refactor streamable http transport (852d01e)
  • mcp: rename dxt to mcpb (298a1e5)
  • mcp: update package.json (857529c)
  • mcp: update README (5a453d0)
  • mcp: update types (6c06bcb)
  • update @stainless-api/prism-cli to v5.15.0 (a550f29)
  • update CI script (987d1a2)
  • update lockfile (556b5de)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions


Note

Release 0.10.1

  • MCP server: add execute code-mode tool and search_docs tool; default tool selection revamped; support logging level changes; parse query-string options; expose client options in streamableHTTPApp; support unix socket and header-based auth; README adds install links.
  • Tooling simplification: remove numerous per-endpoint/dynamic tools in favor of the new code/docs tools.
  • Bundling & publish: add MCP bundle build (.mcpb) with manifest and scripts; upload bundle in CI and GitHub Releases; make packages public via publishConfig.
  • CI/infra: bump Node to 22 in CI; add permissions for publish workflow; refine artifact uploads; ignore .eslintcache, *.mcpb.
  • Misc: bump versions (0.10.1), update deps (eslint, tsc-multi, etc.), update OpenAPI spec URL, changelog and license year.

Written by Cursor Bugbot for commit d633f38. This will update automatically on new commits. Configure here.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Aug 7, 2025

🧪 Testing

To try out this version of the SDK, run:

npm install 'https://pkg.stainless.com/s/nextbillion-sdk-typescript/4720b43445f9a4ecab8c0a8d5ba43a3ae51104b7/dist.tar.gz'

Expires at: Sun, 08 Feb 2026 05:54:08 GMT
Updated at: Fri, 09 Jan 2026 05:54:08 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 3d1972d to 852d01e Compare August 7, 2025 05:21
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Aug 7, 2025

Release version edited manually

The Pull Request version has been manually set to 0.10.1 and will be used for the release.

If you instead want to use the version number 0.11.0 generated from conventional commits, just remove the label autorelease: custom version from this Pull Request.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 9986f8a to b493336 Compare August 7, 2025 05:21
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 1488508 to ee90f42 Compare August 9, 2025 06:16
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from b55ea91 to 806118a Compare August 12, 2025 02:25
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 806118a to be50c7d Compare August 14, 2025 05:49
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from be50c7d to d088711 Compare August 15, 2025 03:43
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from d088711 to 4702c78 Compare August 15, 2025 03:47
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 4702c78 to bb838ab Compare August 16, 2025 04:38
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from bb838ab to e91729d Compare August 16, 2025 04:38
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from e91729d to 6939dde Compare August 16, 2025 04:42
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 6939dde to f0a44fc Compare August 19, 2025 03:28
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from f0a44fc to 9bde25d Compare August 19, 2025 03:29
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 24, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

7 similar comments
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 25, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 26, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 27, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 28, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 29, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 30, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Dec 31, 2025

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from fd06ac9 to ab89b55 Compare January 1, 2026 03:02
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 1, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

4 similar comments
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 2, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 3, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 4, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 5, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from ab89b55 to 5b1a0ae Compare January 6, 2026 07:36
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 6, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 5b1a0ae to 6b22f05 Compare January 7, 2026 07:08
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 7, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from 6b22f05 to ff01518 Compare January 8, 2026 07:16
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 8, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--sdk branch from ff01518 to d633f38 Compare January 9, 2026 05:53
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

jsonrpc: '2.0',
error: {
code: -32000,
message: 'Unauthorized',
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HTTP transport ignores mcpOptions configuration

Medium Severity

The newServer function only destructures clientOptions, req, and res from its parameter object, but the post function passes an object containing both clientOptions and mcpOptions (via spread operator on line 48). Since mcpOptions is not destructured in newServer, it's never passed to initMcpServer. This means user configuration like includeDocsTools: false passed through streamableHTTPApp will be silently ignored, and the server will always use default tool selection behavior.

Additional Locations (1)

Fix in Cursor Fix in Web

{
"dxt_version": "0.2",
"name": "@nbai/sdk-mcp",
"version": "0.10.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manifest version doesn't match package version

Low Severity

The manifest.json file specifies version 0.10.0 while package.json specifies version 0.10.1. This version mismatch could cause confusion or issues when the MCP bundle is distributed, as the manifest metadata won't reflect the actual package version being released.

Fix in Cursor Fix in Web

switch (options.transport) {
case 'stdio':
await launchStdioServer(options, selectedTools);
await launchStdioServer();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stdio transport ignores CLI mcpOptions completely

Medium Severity

The launchStdioServer function is called without passing the parsed CLI options, so it takes no parameters. Inside launchStdioServer, initMcpServer({ server }) is called without mcpOptions. This means user CLI options like --no-tools=docs are parsed and logged correctly, but the actual server initialization ignores them and uses defaults. The log message shows the correct filtered tools, but the running server exposes all tools.

Additional Locations (1)

Fix in Cursor Fix in Web

'formats',
'tool-name-length',
] as const;

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CLI accepts code tool options that have no effect

Low Severity

The CLI options --tools and --no-tools accept 'code' as a valid choice, but the code only processes the 'docs' option via shouldIncludeToolType('docs'). The McpOptions type only has includeDocsTools, and selectTools unconditionally adds codeTool() on line 114. Users passing --no-tools=code would see the option accepted without error, but the code tool would still be included.

Additional Locations (1)

Fix in Cursor Fix in Web

gh release upload ${{ github.event.release.tag_name }} \
packages/mcp-server/nbai_sdk_api.mcpb
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing condition causes workflow failure on manual dispatch

Medium Severity

The "Upload MCP Server DXT GitHub release asset" step runs unconditionally but uses github.event.release.tag_name which is only populated during release events. When the workflow is triggered via workflow_dispatch (manual trigger), this value will be empty, causing the gh release upload command to fail with an error about missing tag name. The step needs an if: github.event_name == 'release' condition.

Fix in Cursor Fix in Web

}

const { is_error, result, log_lines, err_lines } = (await res.json()) as WorkerOutput;
const hasLogs = log_lines.length > 0 || err_lines.length > 0;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing null check on API response arrays

Low Severity

After destructuring the API response, log_lines.length and err_lines.length are accessed directly on line 79. If the remote API returns null or undefined for these fields instead of empty arrays, this will throw a TypeError: Cannot read property 'length' of null. The code assumes the WorkerOutput type is strictly enforced by the API, but no defensive checks exist.

Fix in Cursor Fix in Web

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 9, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

1 similar comment
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Jan 10, 2026

Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant