Conversation
|
🧪 Testing To try out this version of the SDK, run: Expires at: Wed, 11 Mar 2026 20:28:14 GMT |
e2f1f5a to
75460ab
Compare
75460ab to
5b23bcc
Compare
5b23bcc to
8174c95
Compare
8174c95 to
0659a21
Compare
0659a21 to
fab7b9d
Compare
fab7b9d to
778d927
Compare
778d927 to
990b768
Compare
990b768 to
1c2c521
Compare
Moves the code-mode execution to an endpoint in the Stainless API.
1c2c521 to
fc63120
Compare
fc63120 to
2b60546
Compare
2b60546 to
2c3af15
Compare
2c3af15 to
5c1e56b
Compare
1e56388 to
2c41bcf
Compare
2c41bcf to
fee0117
Compare
This comment has been minimized.
This comment has been minimized.
fee0117 to
b61eef5
Compare
| : implementation.name.toLowerCase().includes('cursor') ? 'cursor' | ||
| : undefined; | ||
| mcpOptions.capabilities = { | ||
| ...(mcpOptions.client && knownClients[mcpOptions.client]), |
There was a problem hiding this comment.
Remote fetch on every HTTP request degrades performance
Medium Severity
newMcpServer() calls getInstructions() which makes a remote HTTP fetch to api.stainless.com on every invocation. In HTTP transport mode, newMcpServer() is called from newServer() on every single POST request. The old newMcpServer was synchronous and cheap. Now every MCP tool invocation in HTTP mode incurs an additional round-trip to a remote API for instructions that are essentially static, adding unnecessary latency to every request.
Additional Locations (1)
This comment has been minimized.
This comment has been minimized.
b61eef5 to
1eae9e5
Compare
1eae9e5 to
87e3c36
Compare
87e3c36 to
d99b35f
Compare
| } catch (error) { | ||
| res.status(400).json({ | ||
| jsonrpc: '2.0', | ||
| error: { |
There was a problem hiding this comment.
HTTP query options are no longer applied
Medium Severity
newServer now passes the default mcpOptions directly into initMcpServer and no longer parses request query params. Per-request URL options are silently ignored, so HTTP clients cannot override tool settings and invalid query options are never validated.
Additional Locations (1)
This comment has been minimized.
This comment has been minimized.
d99b35f to
110d42a
Compare
| }); | ||
| await server.connect(transport); | ||
| const transport = new StreamableHTTPServerTransport(); | ||
| await server.connect(transport as any); |
There was a problem hiding this comment.
HTTP transport session handling regressed
Medium Severity
StreamableHTTPServerTransport is now created without sessionIdGenerator: undefined, but GET/DELETE endpoints still return 405. This can switch the server from stateless behavior to session-based behavior while lacking session lifecycle routes, causing client reconnection/session flows to fail.
Additional Locations (1)
This comment has been minimized.
This comment has been minimized.
110d42a to
a402ba6
Compare
a402ba6 to
83d87fb
Compare
| method: 'GET', | ||
| headers: { ...(stainlessApiKey && { Authorization: stainlessApiKey }) }, | ||
| }, | ||
| ); |
There was a problem hiding this comment.
Network error in instruction fetch crashes entire server
High Severity
fetchLatestInstructions gracefully handles HTTP error responses (!response.ok) with a fallback, but if fetch() itself throws (network error, DNS failure, timeout), the exception propagates unhandled. Since getInstructions is called inside newMcpServer during server construction — which in HTTP mode sits outside the try-catch in newServer — a network blip to the Stainless instructions API makes the entire MCP server unable to handle any requests. The old newMcpServer was synchronous and never made network calls, so this is a newly introduced failure path.
Additional Locations (1)
|
Bugbot Autofix prepared fixes for 1 of the 1 bugs found in the latest run.
Or push these changes by commenting: |
83d87fb to
2977665
Compare


Automated Release PR
0.1.0-alpha.10 (2026-02-19)
Full Changelog: v0.1.0-alpha.9...v0.1.0-alpha.10
⚠ BREAKING CHANGES
node /path/to/mcp/serverornpx package-namewill invoke code tools: changing your command to one of these is likely all you will need to do.Features
streamableHTTPApp(a033b07)Bug Fixes
jq_filterto base API (b41959f)Performance Improvements
Chores
actions/github-script(7ada191)compilerOptions.baseUrlfrom tsconfig.json (6e1f08a)actions/checkoutversion (76cea61)docs_searchtool at other URLs (efd6160)Documentation
Refactors
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